CH8-2 · MODEL

오버라이딩과 동적 디스패치: 먼저 구분할 경계

상위 타입 변수에 하위 객체를 담으면 호출 가능한 메서드는 변수의 정적 타입으로 검사됩니다.

핵심 경계

@Override가 재정의 의도를 검사한다

메서드 이름이나 매개변수를 잘못 쓰면 새 메서드가 생길 수 있습니다.

핵심 경계

호출 가능성은 참조의 정적 타입이 정한다

Animal 변수에서는 Animal이 선언한 메서드만 바로 호출할 수 있습니다.

핵심 경계

실행 구현은 실제 객체 타입이 고른다

재정의된 인스턴스 메서드는 런타임의 가장 구체적인 구현이 실행됩니다.

핵심 경계 메서드 이름이나 매개변수를 잘못 쓰면 새 메서드가 생길 수 있습니다.