추상클래스
public abstract class 클래스이름{
public abstract void 메서드이름();
}
- 클래스 앞에
abstract
키워드를 사용하여 정의하며 하나 이상의 추상 메서드를 가지는 클래스를 말한다.
- 추상 메서드를 선언하여 상속을 통해 하위 클래스에서 반드시 구현하도록 하는 클래스이다. 선언부만 작성하고 구현부는 작성하지 않은 채로 남겨두는 것을 말한다.
- 단일 상속만 가능하고 모든 접근 제어자를 사용할 수 있다.
- 변수와 상수를 선언할 수 있고 추상 메소드와 일반 메소드를 선언할 수 있다.
인터페이스
interface 인터페이스이름{
public abstract void 메서드이름();
public default void 메서드이름() {};
}
interface
키워드를 사용하여 선언하는 인터페이스는 상수와 추상 메서드의 집합이다.
- 인터페이스는 추상 클래스보다 추상화 정도가 높으며 추상 클래스와는 다르게 구현부가 있는 일반 메서드, 일반 멤버 변수를 가질 수 없다는 특징이 있다.
- 인터페이스의 모든 메서드는
public abstract
로 선언해야 하지만 컴파일 시 자동으로 생성해주기 때문에 생략할 수 있다.
- 다중 구현이 가능하고 public 접근 제어자만 사용할 수 있다.
- 상수만 선언할 수 있고 추상 메소드만 선언할 수 있다.