[java] 인터페이스의 구현체에서 메소드를 선택적으로 구현하는 방법은?
자바 8부터는 인터페이스의 디폴트 메서드(default method)를 활용하여 선택적으로 구현할 수 있게 되었습니다. 디폴트 메서드는 인터페이스에 메서드 본문을 제공하여 해당 인터페이스를 구현하는 클래스에서 메서드를 오버라이드할 필요가 없도록 합니다.
다음은 인터페이스 내에 디폴트 메서드를 정의하는 예시입니다.
public interface MyInterface {
// 일반 메서드
void normalMethod();
// 디폴트 메서드
default void optionalMethod() {
// 메서드 구현
}
}
위 예시에서 optionalMethod
는 디폴트 메서드로 정의되었습니다. 해당 인터페이스를 구현하는 클래스에서 optionalMethod
를 따로 구현하지 않아도 기본 구현이 제공됩니다. 그러나 필요에 따라 해당 메서드를 오버라이드하여 클래스별로 커스터마이징할 수도 있습니다.
이를 통해 인터페이스를 활용한 다중 상속의 장점을 유지하면서도, 기능을 선택적으로 구현하는 편의성을 제공할 수 있습니다.
참고 문헌: https://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html