interface란,클래스간의 접점을 의미한다
연관성이 낮거나 혹은 없는 클래스에게 공통된 기능을 제공할 때 사용하며,
상수형 필드와 추상 메서드만을 작성할 수 있는 추상 클래스의 변형체
반드시 사전에 정의된 상수(final)와 추상메서드만 가질 수 있다.
추상 클래스보다 더 deep하게 추상적
--> 설계라는 것에 더 가깝다.
--> 구현x, 설계o
모든 인터페이스의 메소드는 묵시적으로 public abstract
변수는 묵시적으로 public static final
객체 생성은 안되나, 참조형 변수로는 가능(다형성)
--> 타입으로서의 역할은 한다
다형성을 이용하여 상위 타입 역할(자식 객체끼리 연결하게 해준다)
인터페이스 구현 객체에 공통된 기능 구현 강제화(== 구현 객체간의 일관성 제공)
공동 작업을 위한 인터페이스 제공