목차
접기
728x90
반응형
추상 메서드를 모두 구현하지 않고 1개만 구현한 추상 클래스
package beginJava;
public abstract class NoteBook extends Computer {
@Override
public void display() {
System.out.println("DeskTop display()");
}
}
- 상속 받은 추상 클래스의 추상 메서드를 모두 구현하지 않으면 하위 클래스도 추상 클래스가 된다.
- 추상 클래스가 된 하위 클래스에서는 구현되지 않은 나머지 추상 메서드에 대해서 구현하면 아래와 같이 추상 클래스가 되지 않는다.
package beginJava;
public class MyNoteBook extends NoteBook {
@Override
public void typing() {
System.out.println("DeskTop typing()");
}
}
- 상위 클래스의 추상 메서드 구현을 위임받아 메서드를 구현했다.
- 모든 추상 메서드가 구현된 클래스이므로 abstract 예약어를 사용하지 않는다.
모든 메서드가 구현된 추상 클래스
package beginJava;
public abstract class AbstractTV {
public void turnOn() {
System.out.println("전원을 켭니다.");
}
public void turnOff() {
System.out.println("전원을 끕니다.");
}
}
- 위와 같이 모든 메서드가 구현이 되어 있는데도 추상 클래스가 될 수 있다.
- 완벽한 TV 기능이 구현된 것이 아닌 TV의 공통 기능만을 구현해 놓은 것이다.
이 클래스는 생성해서 사용할 목적이 아닌 상속만을 위해 만든 추상 클래스이다.
이 경우에는 new 예약어로 인스턴스를 생성할 수 없다.
728x90
반응형
LIST
'Java' 카테고리의 다른 글
[ java ] 템플릿 메서드(template method) (0) | 2021.02.09 |
---|---|
[ java ] 추상 클래스의 형 변환 (0) | 2021.02.09 |
[ java ] 추상클래스( abstract class ) (0) | 2021.02.07 |
[ java ] 다운캐스팅( down casting) (0) | 2021.02.07 |
[ java ] sts 설치 (version: sts-4.9.0) (0) | 2021.02.07 |