728x90
Section12 추상클래스와 인터페이스
추상 메서드
구현 내용 없이 구현부가 비어있는 메서드를 추상 메서드라고 합니다.
추상 메서드 선언
abstract 키워드를 사용하여 다음과 같이 선언합니다.
[접근 제한자] abstract 반환 타입 메서드 이름 (매개변수1, 매개변수2, ...);
추상 메서드를 1개 이상 선언하면, 그 클래스는 추상 클래스로 선언되어야 합니다.
추상클래스로 선언되는 클래스는 다음과 같은 제약 조건을 가집니다.
- 일반 클래스처럼 독립적으로 생성자를 호출해 객체를 생성할 수 없습니다.
- 자식 클래스의 생성자에서 super()를 통해 추상 클래스의 생성자를 호출하여 부모 객체를 생성한 후 자식 객체를 생성합니다.
인터페이스는 모든 메서드가 추상 메서드입니다.
인터페이스 선언
interface 키워드를 사용해 선언합니다. 어떤 형태로도 객체를 만들 수 없으므로 클래스라고 부를 수 없습니다. 따라서 별도의 필드와 생성자도 존재하지 않으며 필드 대신 상수를 선언하여 사용합니다.
구현 클래스
인터페이스를 구현해주는 클래스를 구현 클래스라고 합니다. implements 키워드를 사용해 선언합니다.
[접근 제한자] class 클래스이름 implements 인터페이스이름 {
// 필드
// 생성자
// 구현 메서드 (추상 메서드 오버라이딩)
}
728x90