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