Published 2022. 2. 16. 09:13

Ch7-23_다형성(polymorphism)

1. 여러가지 형태를 가질 수 있는 능력

2. 조상 타입 참조 변수로 자손 타입 객체를 다루는 것

3. 객체와 참조변수의 타입이 일치할 때와 일치하지 않을 때의 차이

- 참조변수로 사용할 수 있는 멤버의 개수가 달라집니다.

 

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

class SmartTv extends Tv {
	String text;
    void caption() {}
}
SmartTv s = new SamrtTv(); // 참조 변수와 인스턴스의 타입이 일치
Tv t = new SmartTv(); // 조상 타입 참조변수로 자손 타입 인스턴스 참조

 

 

4. 자손 타입의 참조변수로 조상 타입의 객체를 가리킬 수 없다.

Tv t = new SmartTv(); // OK
SmartTv s = new Tv(); // 에러!

 

 

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

Ch7-26_instanceof 연산자  (0) 2022.02.16
Ch7-24_참조변수의 형변환  (0) 2022.02.16
Ch7-21_접근 제어자(access modifier)  (0) 2022.02.15
Ch7-7_오버라이딩(overriding)  (0) 2022.02.15
Ch7-5_단일 상속(Single Inheritance)  (0) 2022.02.14
복사했습니다!