4.1) OCJP/1Z0-851 / 2012-08-28

OCJP (1Z0-851 / 2012-08-28 / Exam C) - 22 번

kkikkodev 2016. 11. 12. 21:15



관련 이론 및 문법

(Thread 클래스 참고)

http://kkikkodev.tistory.com/141


(Runnable 인터페이스 참고)

http://kkikkodev.tistory.com/144


문제 의도

각 쓰레드에서, doStuff() 메소드를 실행시킬 코드를 2 개 고르는 문제입니다.


답안

D, F


풀이 방법

이 문제는, 쓰레드의 형태에 대한 문제입니다. 쓰레드를 생성하면서, 동시에, 쓰레드를 시작시키려면 다음과 같은 형태로 작성되어야 합니다.


new Thread(){

public void run(){

// 실행할 코드들

}

}.start();


첫 번째로는, 위와 같이 Thread 객체를 생성하면서, 그 안에, run 메소드를 overriding 하고, start 메소드를 호출하는 것입니다. start 메소드로 Thread 를 시작하면, 자동으로 run 메소드가 호출됩니다.


new Thread(new Runnable(){

public void run(){

// 실행할 코드들

}

}).start();


두 번째로는, 위와 같이, Thread 객체를 생성할 때, 매개변수로 Runnable 인터페이스 객체를 생성하여 넘기고, 그 안에 run 메소드를 overriding 하고, start 메소드를 호출하는 것입니다. start 메소드를 Thread 를 시작하면, 자동으로 run 메소드가 호출됩니다.


이 2 가지 형태인, D 와 F 가 답안이 됩니다.