4.1) OCJP/1Z0-851 / 2012-08-28
OCJP (1Z0-851 / 2012-08-28 / Exam B) - 46 번
kkikkodev
2015. 9. 10. 00:35
관련 이론 및 문법
(static 초기화 구문 참고)
http://kkikkodev.tistory.com/277
(Exception 클래스 참고)
http://kkikkodev.tistory.com/173
문제 의도
주어진 코드를 실행했을 때 어떤 Exception 혹은 Error 가 발생하는지 고르는 문제입니다.
답안
C
풀이 방법
소스코드를 보면, Foo 클래스 내에 static 멤버 변수로 int 형 배열 a 가 선언되어 있습니다. 그리고, static 초기화 구문이 있는데, 여기서 a 의 0 번째에 2 를 저장하고 있습니다. 그리고 main 메소드가 있습니다.
이를 실행하면, 먼저, a 라는 배열 변수가 선언되고 (null 로 초기화됨), static 초기화 구문으로 들어가서 a 의 0 번째에 2 를 저장하려고 하는데, a 에는 null 이 저장되어 있어서, NullPointerException 이 발생하게 됩니다. static 초기화 구문에서 Exception 이 발생했기 때문에, ExceptionInitializerError 가 발생하게 됩니다.
따라서 답안은 C 가 됩니다.