문제
다음 Java 프로그램의 실행 결과는?
① Base Base show ② Derived Derived show ③ Base Derived show ④ 컴파일 오류
정답
3번
해설
정적 메서드 display()는 컴파일 타임에 참조 타입(Base)을 기준으로 바인딩되므로 Base의 display()가 호출되어 'Base '를 출력한다. 반면 인스턴스 메서드 show()는 런타임에 실제 객체 타입(Derived)을 기준으로 동적 바인딩되어 'Derived show '를 출력한다. 정적 메서드는 오버라이딩되지 않고 숨겨지는(hiding) 개념이다.