관련 이론 및 문법

(Wrapper Class 참고)

http://kkikkodev.tistory.com/189


문제 의도

주어진 소스코드를 컴파일하여 실행한 결과를 고르는 문제입니다.


답안

B


풀이 방법

소스코드를 살펴보면, BuildStuff 클래스가 있고, 그 안에는 main 메소드와 go 메소드가 있습니다. go 메소드는 매개변수로 Boolean 형 b 변수와 int 형 i 변수를 받고, b 가 true 이면 i / 7 을, false 이면 i / 49 를 반환하고 있습니다.


프로그램이 실행되면, 3 번 라인에서, Boolean 형 객체 (true 값을 가지는) 를 생성하여 test 변수로 가리키게 합니다. 그리고, 4 번 라인에서는 Integer 형 변수 x 에 343 을 넣습니다. (Auto Boxing) 5 번 라인에서는 BuildStuff 생성자를 호출하여 객체를 만들고, 바로 go 메소드를 호출하면서, 매개변수로 test 변수와 x 변수를 넘겨줍니다. 그러면 9 번 라인에서, b 는 (test 를 넘겨받은) true 이기 때문에, i / 7 (343 / 7) 을 반환합니다. 결국, 49 가 반환됩니다. 이렇게 반환된 49 가 5 번 라인의 Integer 형 변수 y 에 저장됩니다. (Auto Boxing) 6 번 라인에서는, y 를 출력합니다. (49 출력)


따라서 답안은 B 가 됩니다.


by kkikkodev 2015. 9. 10. 00:37