43.9 추상 클래스
클래스를 선언할 때 추가로 abstract 키워드를 붙여 클래스를 선언할 수 있는데, 이를 추상(abstract) 클래스라고 합니다. 이 추상 클래스는 다른 클래스의 부모(parent) 또는 기본(base) 클래스 역할을 합니다.
public abstract class AbstractClassDemo { }
추상 클래스를 사용하여 부모 클래스 만들기
추상 클래스는 일반적인 클래스들의 부모 역할을 하는 클래스, 즉 공통 기능들을 모아 놓은 클래스 역할을 합니다. 추상 클래스는 다른 클래스에 상속을 준 후 추가 기능을 하위 클래스에 구현하도록 하는 강제성을 띱니다.
추상 클래스의 특징은 다음과 같습니다. 한 번 정도 읽고 넘어가세요.
• 다른 클래스에 상속할 때 사용하는 클래스입니다.
• 추상 클래스를 사용하여 개체를 만들 수는 없습니다. 즉, 추상 클래스와 뒤에서 나올 인터페이스는 인스턴스화할 수 없습니다.
• 클래스를 설계할 때 부모 클래스 역할을 하면서 강제로 자식 클래스에 특정 멤버 이름을 물려줄 때 사용합니다.
• 프로젝트를 작성할 때 멤버 이름을 맞추고 싶다면 추상 클래스에 먼저 정의한 후 자식 클래스에서 해당 멤버를 구현합니다.
• 추상 클래스는 public 같은 액세스 한정자를 가집니다.
• 추상 클래스는 멤버로 필드, 속성, 생성자, 소멸자, 메서드, 이벤트, 인덱서를 가집니다.