
상속관계에 있는 경우 객체도 타입변환이 가능
업캐스팅은 항상 가능: 생략시 컴파일러에 의해 자동캐스팅
다운캐스팅은 때에 따라서 가능/불가능: 가능한 경우에만 수동으로 직접 캐스팅 필요
다운캐스팅이 가능하기 위해서는 Heap 메모리 내에 해당 객체가 있어야 함
참조변수 instanceof 타입 - true / false
A a = new B();
if ( a instanceof B ) { // true
B b = (B)a;
}
A a = new A();
if( a instance of B ) { // false
B b = (B)a;
}