Java의 정적 타입과 오버로딩 규칙을 적용할 때 출력되는 문자열은?
class Base { void print(Object x) { System.out.print("Base"); } } class Child extends Base { void print(String x) { System.out.print("Child"); } } Base ref = new Child(); ref.print("A");
정답 1번
오버로딩 후보는 참조 변수의 정적 타입을 기준으로 컴파일 시 결정된다. Base에는 `print(Object)`만 보이므로 그 메서드가 선택되며, Child의 `print(String)`은 오버라이딩이 아니라 별도 오버로드라 출력은 Base다.
콘텐츠 정보
- 자료 유형
- 정처LAB 자체 제작
- 검수 상태
- 내용 검수 완료
- 해설 작성·검수
- 정처LAB 편집 기준
- 최종 검수
- 2026-08-16