어제 오늘 Java 개념 및 기본다지기에 집중하였다. 오늘은 객체지향 관련 강의를 보고 스터디를 진행했다. 그 중에서도 조금 헷갈렸던 부분이 상속관계와 포함관계였다.
아래 코드를 보면서 해당 내용을 정리해보았다.
마지막으로 정리를 해보면...
상속 관계 = "A는 B이다" ('is-a')
포함 관계 = "A는 B를 가지고 있다" ('has-a')
예를 들어, "포유류 & 고래"를 볼때,
고래는 표유류이다. - 상속관계
표유류는 고래를 가지고 있다. - 포함관계
이렇게 보면 포유류 = 고래는 상속관계가 더 적합하다.
다른 예시를 들면, "Car & Door"를 볼때,
Car는 Door이다. - 상속관계
Car는 Door를 가지고 있다. - 포함관계
이렇게 보면 Car = Door은 포함관계라고 볼 수 있다.