강의

멘토링

커뮤니티

Inflearn Community Q&A

u18797016's profile image
u18797016

asked

Java: Understanding Classes and Object-Oriented Programming

13. Class casting exceptions

자식 클래스가 부모 클래스를 캐스팅 할 때,

Written on

·

567

0

안녕하세요!

강의 정말 잘 듣고 있습니다.

 

 

class PBoard {
    public void PBoard(){
        System.out.println("PBoard method");
    }
}
class CBoard extends PBoard{
    public void Cboard(){
        System.out.println("Cboard method");
    }
}


public class ClassCast {
    public static void main(String[] args) {
        PBoard sbd1 = new CBoard();
        System.out.println(sbd1.getClass().getName());
   
        CBoard sbd2 = (CBoard)sbd1;
        System.out.println(sbd1.getClass().getName());

        System.out.println("-------------");

    }
}

위의 예제와 같이 자식 객체를 생성하고 부모타입으로 타입 캐스팅 한 경우, System.out.println(sbd1.getClass().getName());

에서 부모 클래스가 나올 줄 알았는데, 자식 클래스가 나옵니다!

혹시 그 이유가, 참조변수는 부모 클래스형이지만, 메모리에는 자식클래스가 올라와 있기 떄문인가요?

자바에서 타입을 조회할 때 메모리를 조회하는지, 참조변수 형을 조회하는지 궁굼합니다..!

 

감사합니다.

 

 

객체지향oopjava

Answer

This question is waiting for answers
Be the first to answer!
u18797016's profile image
u18797016

asked

Ask a question