글
관련 이론 및 문법
(static 참고)
http://kkikkodev.tistory.com/124
문제 의도
다음 보기 중, 참인 것을 두 개 고르는 문제입니다.
답안
B, C
풀이 방법
소스코드를 살펴보면, Foo 클래스가 정의되어 있고, 그 안에 alpha 라는 static 메소드와, beta 라는 non-static 메소드가 정의되어 있는 것을 볼 수 있습니다. 기본적으로, static 메소드의 호출은, 인스턴스명이 아닌, 클래스명으로 호출합니다. 따라서, alpha 메소드는 static 이기 때문에, Foo 객체를 new 로 생성할 필요 없이, Foo.alpha(); 문장을 통해서 alpha 메소드를 호출할 수 있습니다.
그리고, static 메소드 내에서는 non-static 메소드를 직접 호출할 수 없고, (객체를 new 로 생성해야지 호출할 수 있음) 반대로 non-static 메소드 내에서는 static 메소드를 직접 호출할 수 있습니다. (클래스명으로 접근해서 호출하는 것도 가능)
따라서, Foo.alpha(); 와 관련 있는 답안 B 와, non-static 메소드인 beta() 에서 직접 alpha() 를 호출할 수 있다는 의미인 답안 C 가 답안이 됩니다.
'4.1) OCJP > 1Z0-851 / 2012-08-28' 카테고리의 다른 글
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 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 49 번 (0) | 2016.11.14 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 48 번 (0) | 2016.11.14 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 47 번 (0) | 2016.11.14 |
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 |
RECENT COMMENT