충분히 쌓여가는
단일 상속(Single Inheritance) 본문
단일 상속(Single Inheritance)
java는 단일 상속만 허용한다
다중 상속 에러 예시
class TvDVD extends Tv, DVD { // 에러 발생
// ...
}
다중 상속 문제점
TvDVD는 부모가 Tv와 DVD로 2개이다
Tv와 DVD에 void power() {}라는 메서드가 동시에 있을 경우 어떤 것을 상속 받아야하는지 알 수 없다 => 충돌 문제
[이름(power)이 같고 내용({ })이 다를 경우]
다중 상속 해결방법
1. 인터페이스
2. 비중이 높은 클래스 하나만 상속관계로, 나머지는 포함관계로 한다
Tv 클래스가 비중이 높은 경우, Tv 클래스는 상속으로, DVD 클래스는 포함관계로 한다
(단, DVD가 가지고 있는 메서드를 호출해줘야 한다)
'Java > 객체지향' 카테고리의 다른 글
메서드 오버라이딩(overriding), toString을 사용하여 출력하기 (0) | 2023.06.06 |
---|---|
Object 클래스(모든 클래스의 조상), toString() 사용할 수 있는 이유 (0) | 2023.06.05 |
상속이냐 포함이냐 (클래스간의 관계 설정) (1) | 2023.06.05 |
포함(Composite) 관계 (0) | 2023.06.04 |
상속(Inheritance) (0) | 2023.06.04 |