• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

Animal d = new Dog();

22.04.06 18:24 작성 조회수 135

0

Dog d = new Dog(); ---> 를Animal d = new Dog();

여기서 dog class만 제공 받았을 경우 부모클래스(Animal)타입으로 정의한다고 하셨는데 부모클래스 소스파일을 제공받으면  부모클래스에서 상속받은 메소드 동작방식은 알기때문에

dog 타입으로 사용해도 별다를게 없지 않나 싶어서 질문드립니다. 제가 생각하는게 틀린건가용????   

답변 2

·

답변을 작성해보세요.

1

그렇게 사용하셔되 됩니다. 그런데 지금은 Animal을 상속받아서 Dog를 우리가 만들었기 때문에 내부동작을 다 알고 있습니다. 만약 다른 사람이  Dog를 만들어서 주었다고 생각하면 Dog클래스의 동작방식을 알수가 없죠 그때는 Animal타입으로 받아서 Dog를 동작을 시키는 것이 더 편리하다는 것으로 이해하시면 됩니다. 앞에서 설명드린것처럼 TV를 직접 동작시키는것보다 RemoCon으로 동작시키는 것이 더 편리하는 것처럼요^^ 

TV가 변경되더라도 RemoCon만있으면 TV의 변경된 부분을 몰라도 되는 장점이 있습니다.

0

jm님의 프로필

jm

질문자

2022.04.07

감사합니다!!!!