jdk 1.8(java 8)부터 인터페이스에 default method와 static method가 추가되었습니다. 이전 버전에서는 인터페이스는 오직 추상 메서드만 가질 수 있었습니다. default method 인터페이스에 새로운 메서드를 추가하거나 변경하게 되면 해당 인터페이스를 구현하는 모든 클래스들이 해당 메서드를 새로 구현해야 하는 불편함이 존재하였습니다. 그래서 이를 해결하기 위해 인터페이스에 default 메서드 기능을 추가하였습니다. 인터페이스는 추상 메서드만을 갖는 원칙이 있었습니다. 여러 인터페이스들간의 충돌을 방지하기 위해 추상 메서드만을 사용하도록 하였습니다. 하지만 default 메서드는 추상 메서드가 아닌 인스턴스 메서드로 '{ }' 바디를 가질 수 있습니다(구현될 수 있다). ..