추상클래스를 고도화시킨 문법이며, 반드시 추상메소드와 상수만 선언해야한다. 다른 클래스에서 인터페이스를 지정받을 때에는 implements를 사용한다. 지정받은 클래스는 인터페이스가 갖고있는 추상 메소드들을 반드시 재정의 해야한다. interface 인터페이스명{ 상수 추상메소드 default 메소드 } jdk8 버전 이후부터는 인터페이스에 default 메소드를 선언할 수 있다. 따라서 사실상의 다중상속을 지원하게 된다. 인터페이스 끼리나 다른 클래스와의 메소드 모호성이 발생한다면(이름 중복) 지정, 상속받은 클래스에서 명시적으로 작성(재정의)해 주어 모호성을 해결해줘야한다. public class D extends C implements A, B { @Override public void f() { ..