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

jm님의 프로필 이미지

작성한 질문수

Java TPC (생각하고, 표현하고, 코딩하고)

나보다 부모가 먼저야!

Animal d = new Dog();

작성

·

186

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
질문자

감사합니다!!!!

jm님의 프로필 이미지

작성한 질문수

질문하기