글
관련 이론 및 문법
(final 참고)
http://kkikkodev.tistory.com/374
문제 의도
주어진 코드를 컴파일한 후, 실행한 결과를 고르는 문제입니다.
답안
A
풀이 방법
이 문제는 final 에 대한 문제입니다. 소스코드를 살펴보면, ItemTest 라는 클래스가 존재하는 것을 볼 수 있습니다. 멤버 변수로 int 형 변수 id 를 가지고 있습니다. 이 id 는 private 이며, final 입니다. private 이기 때문에, 이 클래스의 멤버 메소드 내에서만 접근 할 수 있고, final 이기 때문에, 딱 한 번만 초기화될 수 있고, 두 번째부터는 값을 변경할 수가 없습니다. (상수화되기 때문) 4 번 라인에는, 매개변수로 int 형 id 를 받는 생성자 메소드가 있습니다. 8 번 라인에는 매개변수로 int 형 newId 를 받아서 멤버 변수 id 를 newId 로 변경하는 updateId 메소드가 있습니다.
12 라인의 main 메소드가 실행되면, 13 라인에서, ItemTest fa = new ItemTest(42); 문장을 통해서, ItemTest 형 객체 fa 를 생성합니다. 이때 멤버 변수 id 는 42 가 됩니다. 그 다음에, 14 라인의 fa.updateId(69); 문장을 통해서, 멤버 변수 id 를 69 로 다시 바꾸려고 시도하게 됩니다. 하지만, 멤버 변수 id 는 final 이기 때문에, 이미 13 라인에서 42 로 초기화되고, 그 뒤에 14 라인에서 또 값을 69 로 변경하려고 하면 컴파일 에러가 나게 됩니다. (final 변수의 값을 바꿀 수 없다는)
따라서 답안은 A 가 됩니다.
'4.1) OCJP > 1Z0-851 / 2012-08-28' 카테고리의 다른 글
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 45 번 (0) | 2016.11.14 |
---|---|
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 44 번 (0) | 2016.11.13 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 43 번 (1) | 2016.11.13 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 42 번 (0) | 2016.11.13 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 41 번 (0) | 2016.11.13 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 39 번 (0) | 2016.11.13 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 38 번 (0) | 2016.11.13 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 37 번 (0) | 2016.11.13 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 36 번 (0) | 2016.11.13 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 35 번 (0) | 2016.11.13 |
RECENT COMMENT