default 메서드란설계 확장을 위한 도구Java 8 이전에는 인터페이스에 추상 메서드만 선언할 수 있었다. 문제는 인터페이스를 이미 여러 구현체가 구현하고 있는 상황에서 메서드 하나를 추가하면 모든 구현체가 깨짐이문제를 해결하기 위해 default 메서드가 나왔다public interface Repository { Optional findById(Long id); default T getOrNull(Long id) { return findById(id).orElse(null); }} 인터페이스에 기본 구현을 제공기존 구현체를 깨지 않고 기능 추가 가능무엇을 담당하는 메서드일까?모든 구현체에서 동일하게 동작해야 하는 공통 행위구현체마다 바뀌면 안되는 로직맥락을 몰라도 실행 ..