• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

다운 캐스팅 할때 질문 드립니다. !

22.07.02 09:56 작성 조회수 139

0

객체를 생성할 때 upcasting 하면 Animal 타입의 인스턴스 변수가 Animal을 가르키니깐 Animal 에 정의되 있는 메소드들만 사용할 수 있고

downcasting 하면 Dog 타입의 인스턴스가 변수가 Dog 을 가르키니깐 DOG + Animal 에 있는 모든 메소드를 사용 할 수 있는 건가요 ??? 

답변 1

답변을 작성해보세요.

0

Animal과 Dog가 상속관계에 있다면
Animal ani=new Dog(); 이렇게 객체를 생성하는것이 upcasting이죠.
이렇게 되었을때 ani. 하고 접근할 수있는 범위는 Animal 안에 있는 메서드와 (중요)재정의된 Dog의 메서드까지 접근가능합니다.(Animal의 메서드를 Dog가 제정의 했다면)
downcasting하면 당연히 Dog타입으로 되기때문에 Dog+Animal까지 접근이 가능하구요.