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 가 됩니다.