강의

멘토링

로드맵

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

jm님의 프로필 이미지
jm

작성한 질문수

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

나보다 부모가 먼저야!

Animal d = new Dog();

작성

·

254

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님의 프로필 이미지
jm

작성한 질문수

질문하기