단일상속
java는 단일상속만 허용한다. (C++ 은 다중상속 허용)
class TvDVD extends Tv, DVD { //에러 조상은 하나만 허용된다.
}
Tv와 DVD 의 메서드가 void power() 로 같고 내용이 다르다고 할 때 TvDVD가 상속받을 때 충돌이 일어난다.
그래서 자바는 다중상속을 하지않고 단일 상속으로 사용이 가능하다.
인터페이스를 이용하면 이러한 충돌문제를 해결하며 다중상속 효과를 낼 수 있게 한다.
인터페이스를 사용하지 않고 다중상속을 작성하는 방법
▶ 비중이 높은 클래스 하나만 상속관계로, 나머지는 포함 관계로 한다.
TvDVD 클래스는 Tv를 상속한다. DVD 클래스는 객체를 생성하고 메서드 선언을 하여 사용을 하게 한다. 이렇게 하면 다중상속과 같은 효과를 나타낼 수 있게 된다.
Object 클래스 - 모든 클래스의 조상
부모가 없는 클래스는 자동적으로 Object클래스를 상속받게 된다.
모든 클래스는 Object클래스에 정의된 11개의 메서드를 상속받는다.
toString(), equals(Object obj), hashCode() 등등
1. 부모가 없는 경우 extends Object 를 컴파일러가 자동으로 추가하시키며 Object가 부모클래스가 된다.
2. 부모클래스인 Tv를 상속받고 있는 SmartTv는 변하지 않는다.
'객체지향' 카테고리의 다른 글
[상속] 참조변수 super, 생성자 super() (0) | 2021.11.05 |
---|---|
[상속] 오버라이딩 (0) | 2021.11.05 |
[상속] 클래스간의 관계, 상속과 포함 (0) | 2021.11.04 |
[상속] 상속 개념 (0) | 2021.11.03 |
[객체지향] 인스턴스&static&지역변수 (0) | 2021.10.28 |