메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

뇌를 자극하는 java 프로그래밍

뇌를 자극하는 java 프로그래밍 질의응답 게시판입니다.

상속관계 & 형변환

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 의 주소값만 가지고 잇고 아직 객체생성은 안되어있는데 어떻게 형변환이되는거죠?(혹, 다형성의 표현인가요?)

코드 해석좀 해주세요 ㅜㅜㅜㅜㅜ
댓글 입력