4.1) OCJP/1Z0-851 / 2012-08-28
OCJP (1Z0-851 / 2012-08-28 / Exam A) - 38 번
kkikkodev
2015. 7. 27. 16:34
관련 이론 및 문법
(변수의 기본 초기화 값 참고)
http://kkikkodev.tistory.com/111
문제 의도
주어진 소스코드를 컴파일하여 실행한 결과를 고르는 문제입니다.
답안
D
풀이 방법
컴파일하여 실행하면, 9 번 라인의 new Boxer1(new Integer(4)) 문장이 실행됩니다. 이는, Boxer1 클래스의 인스턴스의 생성자를 호출하면서 4 를 매개변수로 넘기는 것입니다. 4 번 라인의 Boxer1 생성자가 호출되고, y 라는 변수에 4 가 넘어오게 됩니다. 5 번 라인에서, x = i + y 문장을 실행하려 하는데, i 는 2 번 라인의 Integer i 처럼, 클래스의 인스턴스 변수를 선언만 하고, 따로 값을 저장하지 않았기 때문에, 기본적으로 i 에는 null 값이 저장되어 있습니다. 따라서, null 값을 참조하여 + 4 를 하려고 하기 때문에, NullPointerException 이 발생하게 됩니다. 따라서, 답안은, D 가 됩니다.