Java 8 이후의 Interface의 특징 1. 인스턴스를 생성할 수 없고 상수만 가질 수 있다. 2. 메서드 body가 없는 추상 메서드를 가진다. 3. default 메서드, static 메서드를 가질 수 있다. default 메서드가 추가된 이유 이미 작성된 인터페이스에서 기능을 추가하려고 할 때, 디폴트 메서드가 없다면 구현체 클래스들이 전부 새로운 메서드를 override해야하지만, 디폴트 메서드가 있으면 추가 작업없이 하위호환 가능 Interface를 써야 하는 이유 public interface Singer { void sing(); } public interface SongWriter { void compose(); } public class SingerSongWriter implemen..