CH8-2 · DECISION

오버라이딩과 동적 디스패치의 선택 기준을 나란히 비교한다

비교 항목: @Override가 재정의 의도를 검사한다 / 실행 구현은 실제 객체 타입이 고른다 / 다운캐스트는 타입 정보가 사라진 경계를 드러낸다

오버라이딩과 동적 디스패치 판단표
확인 질문판단 근거코드에서 드러낼 것
@Override가 재정의 의도를 검사한다메서드 이름이나 매개변수를 잘못 쓰면 새 메서드가 생길 수 있습니다.타입과 시작값
실행 구현은 실제 객체 타입이 고른다재정의된 인스턴스 메서드는 런타임의 가장 구체적인 구현이 실행됩니다.실패 또는 변경 경계
다운캐스트는 타입 정보가 사라진 경계를 드러낸다정말 하위 전용 동작이 필요하면 instanceof 패턴으로 검사한 뒤 사용합니다.선택한 규칙의 결과

선택 기준 정말 하위 전용 동작이 필요하면 instanceof 패턴으로 검사한 뒤 사용합니다.