인터페이스의 디폴트 메소드란 무엇인가요?
인터페이스의 디폴트 메소드(Default Method)란 무엇인가요? 인터페이스의 디폴트 메소드는 자바 8에서 도입된 기능으로, 인터페이스 내에서 메소드의 구현(몸체)을 제공할 수 있도록 만든 특별한 메소드를 말합니다.
즉, 인터페이스가 단순히 메소드의 선언부만 가지는 추상적인 역할을 넘어, 구현 코드를 포함할 수 있게 된 것입니다.
기존에는 인터페이스에 선언된 모든 메소드는 구현체 클래스가 반드시 구현해야 했습니다.
하지만 디폴트 메소드가 도입됨에 따라, 인터페이스에 미리 구현된 기본 동작을 제공할 수 있게 되어, 새로운 메소드를 인터페이스에 추가하더라도 기존 구현체들이 반드시 이를 구현하거나 수정하지 않아도 되도록 호환성을 보장할 수 있습니다.
디폴트 메소드의 주요 특징은 다음과 같습니다: - 메소드를 `default` 키워드로 선언하여 구현을 포함함. - 구현체 클래스에서 필요에 따라 오버라이드 가능. - 인터페이스 내에 본문을 가질 수 있는 유일한 메소드 종류. - 기존 인터페이스에 새로운 기능을 무리 없이 추가할 수 있게 해 줌. 예시: ```java public interface Vehicle { void drive(); default void start() { System.out.println("Vehicle is starting"); } } ``` 위 코드에서 `start()` 메소드는 기본 구현을 제공하는 디폴트 메소드입니다.
`Vehicle` 인터페이스를 구현하는 클래스는 `start()` 메소드를 오버라이드하지 않아도 되며, 필요시에는 재정의할 수 있습니다.
인터페이스의 디폴트 메소드는 인터페이스에서 메소드의 기본 구현을 제공함으로써, 기존 코드를 깨뜨리지 않고 인터페이스를 확장할 수 있도록 도와주는 중요한 기능입니다.