인프런 커뮤니티 질문&답변

안지영님의 프로필 이미지
안지영

작성한 질문수

자바 프로그래밍 입문 강좌 (renew ver.) - 초보부터 개발자 취업까지!!

상속 특징

상속시 데이터 타입이 가지는 의미

작성

·

142

0

ParentClass를 상속받고 있는 FirstChildClass의 경우, 생성자 호출시 메모리상에서 어떤 과정을 거치나요?

ParentClass constructor가 먼저 호출되고 그 후 FirstChildClass constructor가 호출되는데 메모리 주소를 어떻게 레퍼런스 하고 있나요

② 위와 마찬가지로 FirstChildClassParentClass를 상속받고 있을 때,

FirstChildClass fch1 = new FIrstChildClass();를 통해 생성된 객체(fch1)

ParentClass fch2 = new FirstChildClass();를 통해 생성된 객체(fch2)의 차이가 무엇인가요?

(* 인스턴스명.getClass().getName()을 통해 클래스명을 확인했을 때, 둘 다 FirstChildClass로 확인되었습니다)

제가 이해되지 않는 부분은 다음 사실입니다.

객체생성시 데이터타입을 FirstChildClass로 정의했던 fch1의 경우, FirstChildClass에서만 정의한 method(getOpenYear())를 호출할 수 있었습니다. 반면 객체생성시 데이터타입을 ParentClass로 정의했던 fch2의 경우, ParentClass에서 동일한 이름의 method(getOpenYear())를 정의하고 그것을 FirstChildClass내에서 override하여야 실행이 가능했습니다.

두 객체가 어떠한 차이가 있어 이러한 현상이 일어나는지에 대해 자세히 설명해주시면 감사하겠습니다.

답변 2

0

다형성이란 개념이에요 업캐스팅 다운캐스팅 이건 메모리를 보면서 공부해야 이해가 빨리되는데요 구글에 업캐스팅 치시고 상속관계에서 메모리에 어떻게 저장되는지 알면 좋을듯 싶네요

 

0

Java의 상속에서 업캐스팅 및 다운캐스팅에 대해 공부해보시면 이해가 되실 것 같습니다.

안지영님의 프로필 이미지
안지영

작성한 질문수

질문하기