4.1) OCJP/1Z0-851 / 2012-08-28
OCJP (1Z0-851 / 2012-08-28 / Exam A) - 5 번
kkikkodev
2015. 7. 8. 01:39
관련 이론 및 문법
(추상 클래스 (abstract class) 참고)
http://kkikkodev.tistory.com/83
(extends VS implements 참고)
http://kkikkodev.tistory.com/84
문제 의도
소스 코드가 주어졌을 때, 보기의 코드를 추가했을 때, 에러 나지 않고 잘 돌아가는 코드를 고르는 문제입니다.
답안
B, E
풀이 방법
주어진 소스 코드의 Shape 클래스는 추상 클래스이고, 추상 메소드로 draw 를 가지고 있습니다.
보기에 있는 Circle 클래스에서 Shape 클래스를 상속해야 하기 때문에 (extends 사용), implements 를 사용한 보기는 모두 답안 후보에서 제외합니다. (A, D, F)
보기 B 는, abstract 클래스로 정의되어 있으므로, draw 메소드를 override 하지 않아도 되므로, 답안이 됩니다.
보기 C 는, 일반 클래스로 정의되어 있으므로, draw 메소드를 반드시 override 해야 하는데, 재정의하고 있지 않기 때문에, 답안 후보에서 제외합니다.
보기 E 는, 일반 클래스로 정의되어 있으므로, draw 메소드를 반드시 override 해야 하는데, 이를 제대로 지키고 있으므로 답안이 됩니다.
따라서, 답안은, B 와 E 가 됩니다.