• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

downcasting 질문입니다.

22.04.17 15:27 작성 조회수 197

0

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

답변 1

답변을 작성해보세요.

0

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

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

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

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