다음 Java 코드의 출력 결과는?
interface A { default int run() { return 1; } } interface B { default int run() { return 2; } } class C implements A, B { public int run() { return A.super.run() + B.super.run(); } } System.out.print(new C().run());
정답 2번
A와 B의 같은 시그니처 기본 메서드 충돌은 C가 run()을 명시적으로 재정의하여 해소했다. 재정의 메서드는 각 인터페이스의 기본 구현을 호출해 1+2를 반환하므로 3이 출력된다.
콘텐츠 정보
- 자료 유형
- 정처LAB 자체 제작
- 검수 상태
- 내용 검수 완료
- 해설 작성·검수
- 정처LAB 편집 기준
- 최종 검수
- 2026-08-22