Dog is an Animal처럼 종류 관계일 때 적절하다.
관계 판단은 is-a, has-a, can-do, hide 중 어디에 가까운지로 좁힌다
상속을 남용하지 않고, 포함·인터페이스·정보은닉을 구분하면 보기 판단이 빨라진다.
관계별 선택
Car has an Engine처럼 부품을 가진 관계다.
Comparable처럼 할 수 있는 기능을 약속한다.
필드는 감추고 메소드로 안전하게 접근한다.
오답 제거 순서
1. 클래스/객체
설계도인지 실제 인스턴스인지 먼저 구분한다.
2. 상속/포함
종류 관계가 아니면 has-a 포함을 의심한다.
3. 오버로딩/오버라이딩
매개변수 차이인지, 부모 메소드 재정의인지 나눈다.