완벽한 다형성을 보장 하는 추상 클래스이다.
역할(interface)과 구현을 이해하라.


- 여러 클래스를 상속 받을 수 있다면 좋겠지만,메소드 출처가 모호해 지는 경우 여러 문제가 발생 할 수 있기 때문에 자바는 다중상속을 지원 하지 않는다.
- 대신에 자바는 인터페이스를 통해 이런 다중상속의 장점을 구현 한다.
- 인터페이스는 완벽한 다형성을 보장하는 추상 클래스이다.
특징
- 역할 과 구현의 형태로 이루어진다.
- 인터페이스에서 역할을 지정하면 구현 클래스에서 그 역할에 맞는 코드를 구현하면 된다.
- 추상 클래스는 추상 메소드뿐만 아니라 생성자, 필드, 일반 메소드도 포함할 수 있지만
- 다만,인터페이스는 추상메소드와 상수 등을 구성원에 포함 시킬 수 있다.
- 인터페이스의 모든 필드는 public static final이어야 하며, 모든 메소드는 public abstract이어야 한다.
- 다중상속의 형태를 지원한다.
- 인터페이스는 객체를 생성할 수 없다.
- 인터페이스간 상속이 가능하다.