기본 구현을 가진 인스턴스 메소드를 가질 수 있음 |
가질 수 없음그러나 Java 8부터는 default 키워드를 이용하여 가질 수 있음 |
다중 상속 불가 |
다중 상속 지원 |
생성자를 가질 수 있음 |
생성자를 선언할 수 없음 |
단 하나의 클래스 또는 추상 클래스를 확장할 수 있음 |
여러 인터페이스를 확장할 수 있음 |
클래스나 추상 클래스에서 확장할 수 있음 |
인터페이스만 확장 가능함 |
추상, 구상 메소드를 모두 가질 수 있음 |
추상 메소드만 가질 수 있음 |
클래스는 단 하나의 추상 클래스를 확장할 수 있음 |
클래스는 여러 인터페이스를 구현할 수 있음 |
추상 메소드를 선언할 때 abstract를 반드시 써야 함 |
추상 메소드를 선언할 때 abstract 키워드는 필수 아님 |
멤버 메소드에 대한 제한 없음 (protected, public, public abstract) |
public abstract 메소드만 가질 수 있음static 멤버를 가질 수 없음 |
static, final, static final 변수를 가질 수 있음 |
암시적으로 static, final임 |