더북(TheBook)

정답

public default void afterMidnight() {
    System.out.println("자정이 넘었습니다. 할증이 필요한 경우 이 메서드를 오버라이드하세요.");
}

 

해설

Taxi라는 클래스를 보면 afterMidnight();이라는 메서드는 존재하지 않습니다. 그런데 main 메서드에서 taxi.afterMidnight();을 사용하고 있습니다. 해당 클래스에 존재하지 않는 메서드를 사용하는데 에러가 나지 않는다는 것은 Taxi와 연결된 어느 곳에서 afterMidnight();을 정의했다는 것이겠죠? Taxi 클래스를 살펴보면 Meter라는 interfaceimplements하고 있습니다. 즉, Meter 인터페이스가 이 메서드를 구현하고 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.