4.1) OCJP/1Z0-851 / 2012-08-28
OCJP (1Z0-851 / 2012-08-28 / Exam A) - 12 번
kkikkodev
2015. 7. 8. 22:54
관련 이론 및 문법
(익명 클래스 (anonymous class) 참고)
http://kkikkodev.tistory.com/147
문제 의도
주어진 소스코드를 컴파일한 후 실행한 결과를 고르는 문제입니다.
답안
A
풀이 방법
1 번 라인에 TestA 라는 인터페이스가 정의되어 있고, toString 메소드가 추상 메소드의 형태로 있는 것을 볼 수 있습니다.
3 번 라인에는 Test 클래스의 정의부가 있고, 4 번 라인에는 main 메소드가 있는데, 5 번 라인에서, System.out.println 메소드를 호출하면서 매개변수로 익명 클래스인 TestA 인터페이스의 인스턴스를 넘기고 있습니다. (추상 메소드인 toString 의 정의부 포함)
System.out.println 메소드의 매개변수로 인스턴스가 넘어오면, 기본적으로 그 인스턴스의 toString 메소드가 호출되고, 그 toString 메소드의 반환값이 화면에 출력되게 되어 있습니다. 따라서, TestA 인터페이스 인스턴스의 toString 메소드의 반환값인 "test" 가 화면에 출력됩니다. 결과적으로, 답안은 A 가 됩니다.