글
관련 이론 및 문법
(import 참고)
http://kkikkodev.tistory.com/181
문제 의도
Geodetics 클래스의 DIAMETER 멤버에 정상적으로 접근할 수 있는 보기를 2 개 고르는 문제입니다.
답안
A, C
풀이 방법
소스코드를 보면, 가장 위에, com.sun.scjp 로 패키지 선언이 되어 있고, 그 안에, Geodetics 라는 클래스가 정의되어 있습니다. 클래스 안에는 DIAMETER 라는 이름의 멤버 상수가 있습니다. (public static final)
보기 A 를 보면, import com.sun.scjp.Geodetics; 문을 통해서, 이 문장 밑에서 Geodetics 클래스를 사용할 시에는, 패키지명을 생략해도 된다고 하고 있습니다. 그리고, 또 다른 클래스인 TerraCarta 클래스 안의 halfway 메소드에서 return Geodetics.DIAMETER / 2.0; 문장을 통해서, Geodetics 클래스를 사용할 시에는, 패키지명을 생략하였고, 그 안의 DIAMETER 멤버 상수에 접근할 때는, static 이기 때문에, 클래스명인 Geodetics.DIAMETER 로 접근하였습니다. 따라서 이는 올바르기 때문에, 답안 후보가 됩니다.
보기 B 를 보면, import static com.sun.scjp.Geodetics; 문을 통해 Geodetics 클래스를 static 으로 간주하고, 이 밑에서 이 클래스를 사용할 때에는 패키지명을 생략해도 된다고 하고 있습니다. 하지만, Geodetics 클래스는 static 클래스가 아니므로, 답안 후보에서 제외합니다.
보기 C 를 보면, import static com.sun.scjp.Geodetics.*; 문을 통해 Geodetics 클래스 안의 모든 것들을 static 으로 간주하고, 이 밑에서 Geodetics 클래스 안의 모든 것들을 사용할 때는, 패키지명 뿐만 아니라, Geodetics 클래스명도 생략해도 된다는 것입니다. 그 다음에, 또 다른 클래스인 TerraCarta 클래스가 있고, 그 안에 halfway 메소드에서, return DIAMETER / 2.0; 문을 통해서, 패키지명 + 클래스명 생략후 바로 DIAMETER 로 접근하여 사용하고 있으므로 이는 올바르기 때문에 답안 후보가 됩니다. (DIAMETER 는 static 멤버이기도 합니다.)
보기 D 를 보면, package com.sun.scjp; 문을 통해 그 밑의 TerraCarta 클래스를 Geodetics 클래스와 같은 패키지로 묶고 있습니다. 같은 패키지 안에 있더라도, 클래스가 다르면, "클래스명.static 멤버" 의 형태로 접근을 해야 하는데, return DIAMETER / 2.0; 문처럼 바로 접근하고 있기 때문에, 답안 후보에서 제외합니다.
따라서, 답안은 A 와 C 가 됩니다.
'4.1) OCJP > 1Z0-851 / 2012-08-28' 카테고리의 다른 글
OCJP (1Z0-851 / 2012-08-28 / Exam B) - 28 번 (0) | 2015.09.02 |
---|---|
OCJP (1Z0-851 / 2012-08-28 / Exam B) - 27 번 (0) | 2015.09.02 |
OCJP (1Z0-851 / 2012-08-28 / Exam B) - 26 번 (0) | 2015.09.02 |
OCJP (1Z0-851 / 2012-08-28 / Exam B) - 25 번 (0) | 2015.09.02 |
OCJP (1Z0-851 / 2012-08-28 / Exam B) - 24 번 (0) | 2015.09.02 |
OCJP (1Z0-851 / 2012-08-28 / Exam B) - 22 번 (0) | 2015.08.28 |
OCJP (1Z0-851 / 2012-08-28 / Exam B) - 21 번 (0) | 2015.08.28 |
OCJP (1Z0-851 / 2012-08-28 / Exam B) - 20 번 (0) | 2015.08.28 |
OCJP (1Z0-851 / 2012-08-28 / Exam B) - 19 번 (0) | 2015.08.28 |
OCJP (1Z0-851 / 2012-08-28 / Exam B) - 18 번 (0) | 2015.08.28 |
RECENT COMMENT