Contents
1. 예제abstract
추상 클래스 (abstract class)
- 하나 이상의 추상 메소드를 포함하는 클래스를 말함.
- 반드시 사용되어야 하는 메소드를 추상 클래스에 추상 메소드로 선언해 놓으면 이 클래스를 상속받는 모든 클래스에서는 이 추상 메소드를 반드시 재정의 해야한다.
추상 메서드 (abstract method)
- 자식 클래스에서 반드시 오버라이딩해야만 사용할 수 있는 메서드를 말함.
- 선언부만 존재하며, 구현부는 작성되어있지 않음.
- abstract 반환타입 메서드이름();
1. 예제
코드
package ex07.ch01;
abstract class 판사 { //abstract => 추상화. 메모리에 띄울 수 없음. 강제함.
//public abstract void 심문();
//바디 안만들거면 이 문법 사용하면됨. 어짜피 타고 내려가기만하면 되서 내용 필요없음.
public void 심문() {
System.out.println("판사는 심문한다.");
}
//내용이 같은 경우에는 해당하는 문법으로 사용 가능.
}
class 왕비 extends 판사 {
}
class 왕 extends 판사 {
}
abstract class 증인 {
public abstract void 대답();
}
class 모자장수 extends 증인 {
public void 대답() {
System.out.println("모자장수는 대답한다.");
}
}
class 토끼 extends 증인 {
public void 대답() {
System.out.println("토끼는 대답한다.");
}
}
class Game {
public void 심문(판사 u) {
u.심문();
}
public void 대답(증인 u) {
u.대답();
}
}
public class AliceApp {
public static void main(String[] args) {
Game g = new Game();
증인 s = new 모자장수();
g.대답(s);
판사 ss = new 왕();
g.심문(ss);
}
}결과

Share article