객체의 사용방법을 가이드라인 하는 것이라고 생각하시면 이해가 쉽다. 자바의 인터페이스는 추상 메서드와 상수로만 이루어져 있다. 구현된 코드가 없기 때문에 당연히 인터페이스로 인스턴스도 사용할 수 없다.
인터페이스는 코드와 인터페이스로 생성된 객체들을 중간에 중계해주는 역할을 한다.
ex) 애플리케이션을 하나의 공연이라고 생각하고 각각의 인터페이스를 배역이라 하자 그런데 실제 배역 맞는 배우를 선택하는 것은 누가 하는가?
로미오와 줄리엣 공연을 하면 로미오 역할을 누가 할지 줄리엣 역할을 누가 할지는 배우들이 정하는게 아니다. 이전 코드는 마치 로이모 역할(인터페이스)을 하는 레오나르드 디카프리오(구현체,배우)가 줄리엣 역할(인터페이스)를 하는 여자 주인공(구현체,배우)을 초빙하는 것과 같다.