[JAVA]抽象クラスとメソッド
抽象画とは何ですか。
これは親の等級を選定する概念です.
JAVAにおける抽象技術
これは親に特定の方法を無条件に再定義させる方法である.
ガイドの役割を果たすことができます.
ヒントの役割を果たす.
抽象化された利点
📝 抽象クラス
定義されるべきです.
抽象クラス宣言
public abstract class Hello{
// 멤버변수
// 생성자
// 일반 메서드
// 추상 메서드
...
}
抽象クラスの継承
📝 抽象メソッド(抽象メソッド)
ヒントの目的に使用します.
抽象メソッド宣言
句読点(;)書きます.
public abstract void sayHello();
コードの例// 육군 / 해군 / 공군 의 공통 기능을 명시하기 위한 부모 클래스
public abstract class Unit {
private String name;
public Unit(String name) {
super();
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// 자식들이 재정의할 메서드를 추상으로 명시
public abstract void attack();
public abstract void move();
}
// 자식 클래스
// 육군
public class Army extends Unit {
public Army(String name) {
super(name);
}
// 추상 메서드의 재정의를 요구한다.
@Override
public void attack() {
System.out.println(this.getName() + ">> 육상공격");
}
@Override
public void move() {
System.out.println(this.getName() + ">> 육상이동");
}
}
// 해군
public class Navy extends Unit {
public Navy(String name) {
super(name);
}
@Override
public void attack() {
System.out.println(this.getName() + ">> 해안공격");
}
@Override
public void move() {
System.out.println(this.getName() + ">> 해안이동");
}
}
// 공군
public class AirForce extends Unit {
public AirForce(String name) {
super(name);
}
@Override
public void attack() {
System.out.println(this.getName() + ">> 공중공격");
}
@Override
public void move() {
System.out.println(this.getName() + ">> 공중이동");
}
}
// Main 클래스
public class Main {
public static void main(String[] args) {
Unit[] u = new Unit[3];
u[0] = new Army("육군");
u[1] = new Navy("해군");
u[2] = new AirForce("공군");
for (int i = 0; i < u.length; i++) {
u[i].attack();
u[i].move();
System.out.println("------------------------------------------");
}
}
}
👉 実行結果육군>> 육상공격
육군>> 육상이동
------------------------------------------
해군>> 해안공격
해군>> 해안이동
------------------------------------------
공군>> 공중공격
공군>> 공중이동
------------------------------------------
Reference
この問題について([JAVA]抽象クラスとメソッド), 我々は、より多くの情報をここで見つけました https://velog.io/@hyun_ha/JAVA-추상-클래스-및-메서드テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol