Ch7-5_단일 상속(Single Inheritance)

Java는 단일 상속만을 허용한다.(C++은 다중상속 허용)

class TvDVD extends Tv, DVD { // 에러! 조상은 하나만 허용된다.
	// ...
}

 

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

class Tv {
	boolean power;
    int channel;
    
    void power() { power = !power; }
    void channelUp() { ++channel; }
    void channelDown() { --channel; }
}

class DVD {
	boolean power;
    
    void power() { power = !power; }
    void play() {}
    void stop() {}
    void rew() {}
    void ff() {}
}
class TvDVD extends Tv {
	DVD dvd = new DVD();
    
    void play() {
    	dvd.play();
    }
    
    void stop() {
    	dvd.stop();
    }
    
    void rew() {
    	dvd.rew();
    }
    
    void ff() {
    	dvd.ff();
    }
}

 

Ch7-6_Object클래스 - 모든 클래스의 조상

1. 조상이 없는 클래스는 자동적으로 Object클래스를 상속 받게 된다.

2. 모든 클래스는 Object클래스에 정의된 11개의 메서드를 상속받는다.

toString(), equals(Object obj), hashCode(), ...

class Tv {
}

class SmartTv extends Tv{
}
class Tv extends Object { // Object 컴파일러 자동 추가
}

class SmartTv extends Tv {
}

'JAVA > Chapter7' 카테고리의 다른 글

Ch7-21_접근 제어자(access modifier)  (0) 2022.02.15
Ch7-7_오버라이딩(overriding)  (0) 2022.02.15
Ch7-3_포함관계  (0) 2022.02.14
Ch7-1_상속(Inheritance)  (0) 2022.02.14
Ch7-51_익명 클래스(anonymous class)  (0) 2021.12.16
복사했습니다!