◎ 추상클래스
- 하위클래스에서 구현되는 추상적인 기능만을 정의하는 클래스
- 기능이 무엇(what)인지만을 정의하고 어떻게(how) 구현되는지는 정의하지 않는다.
- 추상 메소드는 하위 클래스에서 오버라이딩되어 구현된다.
- 추상 클래스는 추상 메소드 외에 일반적인 속성과 메소드를 가질 수 있다.
- 추상 클래스를 사용하면 동작을 정의할 수 있을 뿐만 아니라 클래스 상속을 위한 공통 구현을 제공할 수 있습니다.
- 추상메소드는 추상클래스 내에 정의된 메소드로서 선언부분만 있고 구현 부분은 없음 - 추상 클래스로부터는 직접 객체가 생성될 수 없다.

abstract class 클래스이름 {
……..// 일반 속성과 메소드 기술
abstract void 추상메소드이름(); // 추상 메소드 선언
……
}

◎ 인터페이스
- 추상메소드와 상수만으로 구성된 추상클래스(public만 사용)
- 추상 클래스보다 더욱 완벽한 추상화를 제공한다.
- 자바에서는 다중상속을 지원하지 않는다. 인터페이스를 이용하여 다중상속 부분 지원
- 이벤트 처리, 쓰레드, 애프릿에서 사용
- 현재 클래스가 이미 다른 클래스로부터 상속을 받고 있는 상태이면서 또 다른 클래스의 여소들이 필요로 된다면 이때는 인터페이스를 사용
- 클래스 생성시 인터페이스를 사용하기 위해 “implements”예약어 사용

public interface 인터페이스이름 {
public long ONE_SECOND // 상수선언
public void 메소드 이름(); // 메소드 선언
}