상속관계 & 형변환
2012-02-12
|
by rlfcksdud
2021
class Building{ }
public class Barn extends Building
{
public static void main(String[] args)
{
Building bild1 = new Building();
Barn barn1 = new Barn();
1/ Barn barn2 = (Barn) build1;
2/ Object obj1 = (Object) build1;
3/ String str1 = (String) build1;
4/ Building build2 = (Building) barn1;
}
}
++++++++++++++++++++++++++++++++++++++++
1번은 Barn 이 서브클래스니이기 떄문에 Building에 포함되니까 형변환이가능하고
===========================
질문 : 2번은 java.lang에 포함되는 클래스이지 지금 작성한 코드에서는 상속받은게 아닌데 왜 형변환이 되는거죠?
3번은 2번이 되는데 왜 3번은 안될까요?
4번은 Buliding 의 주소값만 가지고 잇고 아직 객체생성은 안되어있는데 어떻게 형변환이되는거죠?(혹, 다형성의 표현인가요?)
코드 해석좀 해주세요 ㅜㅜㅜㅜㅜ