기능들의 목록을 가지고 있는 것: 무슨 기능을 만들어야 할 지 메서드에 대한 선언만을 가지고 있다. 즉, 규칙을 잡거나, 플로우 로직을 잡는데 사용한다. 객체의 사용 방법을 정의한 타입이다. 객체의 교환성을 높여주기 때문에 Upper CamelCase로 작성된다. 확장자가 .java파일로 작성한다. 모든 필드는 public static final이어야 하며, 모든 메서드는 public abstract이어야 한다. (Java 7까지는) final, abstract를 생략하면 자동으로 붙는다. Java 8 부터는 default 메서드(구현된 메서드)와 static 메서드도 선언이 가능하다. 인터페이스의 default 메서드: JDK 8에 추가된 메서드 default 메서드가 인터페이스에 추가된 이유에 대해 ..