글
관련 이론 및 문법
(Thread 클래스 참고)
http://kkikkodev.tistory.com/141
(Runnable 인터페이스 참고)
http://kkikkodev.tistory.com/121
문제 의도
주어진 소스코드를 컴파일하여 실행한 결과를 고르는 문제입니다.
답안
B
풀이 방법
소스코드를 보면, 먼저 Runnable 객체 r 을 생성하고 그 안에 run 메소드를 정의하고 있습니다. ("Cat" 을 화면에 출력하는) 그리고 Thread 객체 t 를 생성하면서 생성자 매개변수로 r 을 넘기고, 마찬가지로 run 메소드를 정의하고 있습니다. ("Dog" 를 화면에 출력하는) 마지막 라인에서, t.start(); 를 통해 쓰레드를 시작합니다.
쓰레드가 시작되면, run 메소드를 호출합니다. 여기서는 run 메소드가 Thread 에도 있고, Runnable 에도 있는데, Thread 는 Runnable 을 상속하므로 (Thread 가 자식 클래스) 하위 클래스인 Thread 클래스의 run 메소드가 호출됩니다. (method overriding) 따라서, Runnable 의 run 메소드는 가려지고 Thread 의 run 메소드가 호출되어 "Dog" 가 출력됩니다.
따라서, 답안은 B 가 됩니다.
'4.1) OCJP > 1Z0-851 / 2012-08-28' 카테고리의 다른 글
OCJP (1Z0-851 / 2012-08-28 / Exam B) - 23 번 (0) | 2015.08.28 |
---|---|
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) - 17 번 (0) | 2015.08.28 |
OCJP (1Z0-851 / 2012-08-28 / Exam B) - 16 번 (0) | 2015.08.28 |
OCJP (1Z0-851 / 2012-08-28 / Exam B) - 15 번 (0) | 2015.08.27 |
OCJP (1Z0-851 / 2012-08-28 / Exam B) - 14 번 (0) | 2015.08.27 |
OCJP (1Z0-851 / 2012-08-28 / Exam B) - 13 번 (2) | 2015.08.27 |
RECENT COMMENT