안녕하세요. 휴보로입니다. 방금은 실수를 하더니, 이번엔 아예 모르는 게 나왔습니다.
※ 1zo-808 V19.75 기준입니다
사실 이 문제는 해설을 할 것도 없이 두 가지만 알고 있으면 됩니다.
- 상속받을 경우, 접근제한자는 "확장만" 가능하다.
- interface의 멤버변수는 public static final 이여야 하며, 메소드는 public abstract 이여야 한다.
이 두가지를 알고 있다면, 문제의 n1 번째 줄에서 public to protected 이므로 컴파일 에러가 남을 알 수 있겠죠.
오답
저의 경우에는, 1번을 알고 있었으나 2번은 생각지 못하여 "default에서 protected인데 왜 안되지?"라고 생각하였고 그래서 B가 정답이라고 생각했습니다.
번외
만약에 컴파일 에러를 해결한다면 왜 정답은 B일까요? 자식 객체를 부모 객체로써 사용할 때, 자식의 overriding 된 메서드를 사용할 때에는 부모의 메서드가 호출 되는것이 아니라 자식의 메서드가 호출되기 때문입니다.
'SoftwareDo > OCAJP' 카테고리의 다른 글
[오답노트] 111번 지역변수, 전역변수에 관한 실수 (0) | 2020.11.11 |
---|---|
OCAJP 공부 시작 (1) | 2020.11.07 |