인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

hongeui906012's profile image
hongeui906012

asked

Java TPC (Think, Express, Code)

Parents come before me (practice)

downcasting 질문입니다.

Written on

·

306

0

안녕하세요 downcasting 질문 드립니다.
강의 예시에서 dog와 cat 클래스가 class 파일 제공이 되고 부모 클래스 animal은 자바로 제공이 된다고 했을때 부모클래스(animal)에는 없는 night 함수를 자식클래스(cat)에 존재하는지 어떻게 알고 또 어떤 기능인지 어떻게 알고 다운캐스팅을 하여 사용할까요?
 
 
downcastingoopjava

Answer 1

0

bitcocom님의 프로필 이미지
bitcocom
Instructor

이런 원리라고 보시면됩니다. 우리도 부모와 자식관계에서 부모는 자녀의 특징을 알고 있습니다. 자녀들의 공통 기능도 있지만 자녀마다 고유한 기능도 있다는 것을 부모는 다 알고 있다는 전제가 상속이라고 보시면 됩니다.

그렇기 때문에 Animal과 Cat관계에서 Cat에만 있는 night()기능이 Animal에는 없지만 부모가 자녀 타입 즉 Cat타입으로 다운케스팅(형이 변경이되면)이 되면 접근이 가능합니다.

다운케스팅은 부모가 자녀에게 맞춰준다는 의미겠죠. 부모가 내 성격에 맞지 않해도 맞춰주는것 처럼요~~

조금더 다르게 접근하면 Animal타입이 Cat타입으로 변경이 되면 night()메서드를 접근할수있습니다. 그럴려면 Aninal을 Cat타입으로 다운케스팅을 해서 Cat타입으로 바꾸는것입니다. 이해가 되셨을까요?

hongeui906012's profile image
hongeui906012

asked

Ask a question