디폴트(default) 메소드 Java 8부터 등장하여 인터페이스에서만 선언할 수 있으며, 기존에 인터페이스의 모든 메소드는 추상 메소드로서 구현할 수가 없었는데, 구현할 수 있는(그리고 반드시 구현해야 하는) 메소드입니다. 접근제어자 default와는 별개이며, 접근제어자는 기존 인터페이스의 메소드와 마찬가지로 public만 가능합니다. 디폴트 메소드는 하위 호환성을 해치지 않고 설계를 확장할 수 있도록 도와줍니다. 이런 이유로 다른 말로는 확장(extension) 메소드라고도 불립니다. (물론 디폴트 메소드는 인터페이스 내에서 구현해야 하므로 이를 구현한 클래스의 필드는 사용하지 못한다는 단점이 존재합니다.) 예를 들어봅시다. move()라는 동작을 갖는 Animal이라는 인터페이스가 존재합니다. A..