Notice
Recent Posts
Recent Comments
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

단일 상속(Single Inheritance) 본문

Java/객체지향

단일 상속(Single Inheritance)

빌드이너프 2023. 6. 5. 11:43

단일 상속(Single Inheritance)

java는 단일 상속만 허용한다

 

다중 상속 에러 예시

class TvDVD extends Tv, DVD { // 에러 발생
    // ...
}

 

다중 상속 문제점

TvDVD는 부모가 Tv와 DVD로 2개이다

Tv와 DVD에 void power() {}라는 메서드가 동시에 있을 경우 어떤 것을 상속 받아야하는지 알 수 없다 => 충돌 문제

[이름(power)이 같고 내용({ })이 다를 경우]

 

다중 상속 해결방법

1. 인터페이스

   인터페이스의 다형성

 

2. 비중이 높은 클래스 하나만 상속관계로, 나머지는 포함관계로 한다

Tv 클래스가 비중이 높은 경우, Tv 클래스는 상속으로, DVD 클래스는 포함관계로 한다

(단, DVD가 가지고 있는 메서드를 호출해줘야 한다)