문제 설명

Taxi클래스는 Meter인터페이스를 구현하고 있습니다. Meter인터페이스를 살펴보면 start,stop이외에도 default메소드인 afterMidnight이라는 메소드가 추가되었는데요. afterMidnight은 default로 선언되어 있기 때문에 Taxi에서 별도로 구현하지 않더라도 에러가 발생하지는 않습니다. 우선 [실행]을 눌러서 확인해 보세요. 그리고 Taxi에서 afterMidnight을 오버라이드 한 다음 [제출]해 보세요.


인터페이스의 메소드가 default키워드로 선언되면 인터페이스 내에서 구현될 수 있습니다. 또한 이를 구현하는 클래스는 default메소드를 오버라이딩 할 수도 있지요.
예를 들어,

public interface Calculator {
    public int plus(int i, int j);
    public int multiple(int i, int j);
    default int exec(int i, int j){    // default로 선언하여 메소드를 구현할 수 있습니다.
        return i + j;
    }
}
실행 결과 실행 중지