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 |