인터페이스 자바는 하나의 상속만 가능하다는 특성이 있다. 이것은 객체지향 프로그래밍에서 큰 제약이기 때문에 인터페이스라는 개념을 도입햇다. 인터페이스는 일종의 추상 클래스이다. 추상클래스처럼 추상메서드를 갖지만 추상클래스보다 추상화 정도가 높아서 추상 클래스와 달리 일반 메서드 또는 멤버변수를 가질 수 없다. 오직 추상메서드와 상수만 멤버로 가질 수 있다. 하지만 자바 8 부터 default 키워드를 통해 일반 메서드 구현이 가능해졌다. 개발 코드와 객체가 서로 통신하는 접점 개발 코드가 인터페이스의 메서드를 호출하면 인터페이스는 객체의 메서드를 호출한다. 이렇게 되면 개발코드는 객체의 내부 구조를 알 필요가 없고, 인터페이스의 메서드만 알면 된다는 장점이 있다. 개발 코드를 수정하지 않고, 사용하는 객..