void doWork(Car c) {
if (c instanceof FireEngine) { // 1. 형변환이 가능한지 확인
FireEngine fe = (FireEngine)c; // 2. 형변
fe.water();
FireEngine fe = new FireEngine();
System.out.prinln(fe intanceof Object); //true (조상)
System.out.prinln(fe intanceof Car); //true (조상)
System.out.prinln(fe intanceof FireEngine); //true (자신)
Object obj = (Object)fe; //ok
Car c = (Car)fe; //ok
Q. 참조 변수의 형변환은 왜 하나요?
A. 참조 변수(리모콘)을 변경함으로써 사용할 수 있는 멤버의 개수를 조절하기 위해서(주소 값도 동일, 객체도 동일)
Q. instanceof 연산자는 언제 사용하나요?
A. 참조 변수를 형변환 하기 전에 형변환 가능 여부를 확인 할 때