디폴트 메소드를 사용하면 기존 코드를 바꾸도록 강요하지 않으면서도 인터페이스를 바꿀 수 있다.
List 인터페이스 내부에 있는 sort메소드를 보면 디폴트 메서드로 구현되어있다.
**default** void sort(Comparator<? super E> c) { <- 디폴트로 선언
Collections.sort(this, c);
}
인터페이스를 구현하는 클래스에서 필요없는 메서드의 내용이 비어있는 경우가 있다. (사용할 필요가 없는데 인터페이스에 정의되어있으므로)
디폴트 메서드를 이용하면 기본 구현을 제공할 수 있으므로 빈 구현을 제공하지 않아도되므로 필요없는 코드를 줄일 수 있다.