글
관련 이론 및 문법
(확장 for 문 참고)
http://kkikkodev.tistory.com/190
문제 의도
코드를 컴파일한 후, 실행한 결과를 고르는 문제입니다.
답안
C
풀이 방법
코드를 살펴보면, reverse 와 main 총 2 개의 메소드를 확인할 수 있습니다. reverse 메소드에서는, 매개변수로 List 형 매개변수 list 를 받아서, Collections.reverse(list); 문장을 통해서, list 를 역순으로 뒤집고, return list.iterator(); 문장을 통해서, list 의 iterator 를 반환합니다.
main 메소드가 실행되면, List list = new ArrayList(); 문장을 실행합니다. List 형 인스턴스 변수 list 에 ArrayList 형 객체를 생성하여 이를 가리키게 합니다. ArrayList 는 List 의 자식 클래스이므로, 부모형인 List 형 인스턴스 변수로 자식 객체를 가리킬 수 있는 것입니다. 그 다음 줄에서는, list.add("1"); list.add("2"); list.add("3"); 문장을 통해서, list 에 "1", "2", "3" 을 순서대로 추가하고 있습니다. 그 다음, for(Object obj: reverse(list)){...} 확장 for 문을 실행하려고 합니다.
확장 for 문의 콜론 우측 부분에는 배열이나, Iterable 인터페이스를 상속하고 있는 클래스 변수만 올 수 있습니다. 현재 코드에서는 reverse(list) 의 반환형인 Iterator 객체가 오는데, Iterator 인터페이스는 Iterable 인터페이스를 상속하고 있지 않기 때문에, 컴파일 에러가 발생하게 됩니다.
따라서 답안은 C 가 됩니다.
'4.1) OCJP > 1Z0-851 / 2012-08-28' 카테고리의 다른 글
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 60 번 (16) | 2016.11.20 |
---|---|
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 59 번 (0) | 2016.11.20 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 57 번 (0) | 2016.11.20 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 56 번 (0) | 2016.11.20 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 55 번 (0) | 2016.11.20 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 54 번 (0) | 2016.11.20 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 53 번 (0) | 2016.11.20 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 52 번 (0) | 2016.11.20 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 51 번 (0) | 2016.11.20 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 50 번 (0) | 2016.11.20 |
RECENT COMMENT