-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
Animal d = new Dog();
22.04.06 18:24 작성 조회수 136
0
Dog d = new Dog(); ---> 를Animal d = new Dog();
여기서 dog class만 제공 받았을 경우 부모클래스(Animal)타입으로 정의한다고 하셨는데 부모클래스 소스파일을 제공받으면 부모클래스에서 상속받은 메소드 동작방식은 알기때문에
dog 타입으로 사용해도 별다를게 없지 않나 싶어서 질문드립니다. 제가 생각하는게 틀린건가용????
답변을 작성해보세요.
1
박매일
지식공유자2022.04.06
그렇게 사용하셔되 됩니다. 그런데 지금은 Animal을 상속받아서 Dog를 우리가 만들었기 때문에 내부동작을 다 알고 있습니다. 만약 다른 사람이 Dog를 만들어서 주었다고 생각하면 Dog클래스의 동작방식을 알수가 없죠 그때는 Animal타입으로 받아서 Dog를 동작을 시키는 것이 더 편리하다는 것으로 이해하시면 됩니다. 앞에서 설명드린것처럼 TV를 직접 동작시키는것보다 RemoCon으로 동작시키는 것이 더 편리하는 것처럼요^^
TV가 변경되더라도 RemoCon만있으면 TV의 변경된 부분을 몰라도 되는 장점이 있습니다.
0
답변 2