- Computer.java
public abstract class Computer {
public abstract void display();
public abstract void typing();
public void turnOn() {
System.out.println("전원을 켭니다.");
}
public void turnOff() {
System.out.println("전원을 끕니다.");
}
}
- 추상 클래스에서는
abstract
예약어가 없는 추상 메서드가 있으면 오류가 발생한다.
- DeskTop.java
public class DeskTop extends Computer {
@Override
public void display() {
System.out.println("DeskTop display()");
}
@Override
public void typing() {
System.out.println("DeskTop typing()");
}
}
- NoteBook.java
public abstarct class NoteBook extends Computer {
@Override
public void display() {
System.out.println("NoteBook disply()");
}
}
- NoteBook 클래스는 추상 메서드를 하나 가지고 있기 때문에 추상 클래스가 됨
- MyNoteBook.java
public class MyNoteBook extends NoteBook {
@Override
public void typing() {
System.out.println("MyNoteBook typing()");
}
}
- 모든 추상메서드가 구현된 클래스 이므로
abstarct
예약어를 사용하지 않음