자바의정석
[자바의 정석 - 기초편] ch7-24,25 참조변수의형변환(2)
유호야
2022. 3. 21. 19:46
반응형
컴파일러가 실제 실행했을 때 확인을 못하기 때문에
참조변수간의 형변환보다는 실제 가리키는 객체가 무엇인지가 중요하다.
즉 car 인스턴스를 가리키는 f1, f2는 FireEngine 객체에만 있는 water() 메서드를 실행할 수 없다.
package ch07;
class Car {
int door;
int color;
void drive() {
System.out.println("drive!");
}
}
class FireEngine extends Car {
void water() {
System.out.println("water!");
}
}
public class Ex7_7 {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new FireEngine();
FireEngine f1 = new FireEngine();
FireEngine f2 = (FireEngine)new Car();
c1.drive();
c2.drive();
f1.drive();
f2.drive();
}
}
반응형