자바 복습
2020.03.02 / Day - 18 자바 abstract 클래스 복습
개발지혜
2020. 3. 2. 17:40
bbm - 6일차
abstract(추상)
abstract란 상속을 강제하는 일종의 규제로
abstract 클래스나 메소드를 사용하기 위해서는 반드시 상속해서 사용하도록 강제하는 것이 abstract다.
즉 부모 클래스에는 메소드의 시그니처만 정의해놓고 그 메소드의 실제 동작 방법은
이 메소드를 상속 받은 하위 클래스의 책임으로 위임하고 있다.
class Main {
public static void main(String[] args) {
무기 a무기 = new 칼();
a무기.공격();
// 출력 : 칼로 공격합니다.
a무기 = new 활();
a무기.공격();
// 출력 : 활로 공격합니다.
}
}
abstract class 무기 {
abstract void 공격();
}
class 칼 extends 무기 {
void 공격() {
System.out.println("칼로 공격합니다.");
}
}
class 활 extends 무기 {
void 공격() {
System.out.println("활로 공격합니다.");
}
}