문제 설명
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;
}
}
실행 결과
실행 중지
실행 결과가 여기에 표시됩니다.