클래스의 모호성을 해결하기 위해서 나온 개념
다중상속시의 모호성을 해결하기 위해서 인터페이스라는 클래스의 기본 틀을 만들면서, 다른 클래스 사이의 중간 매개 역할 까지 수행하는 추상 클래스
클래스들을 동일한 목적 하에 동일한 기능을 수행하게 강제하는것 => 유지 보수성을 위해
접근제어자 interface 인터페이스 이름{
public static final 타입 상수이름 = 값;
...
public abstract 메소드이름(매개변수 목록);
class 클래스이름 implements 인터페이스 이름{...}
인터페이스 안에는 상수, 추상메소드, 디폴트 메소드, 정적메소드가 선언 가능하다
참조: https://limkydev.tistory.com/197, http://www.tcpschool.com/java/java_polymorphism_interface