[C#] 6.2.5 abstract 키워드를 이용한 추상화

C#에서는 상속을 통해서만 사용할 수 있는 기반 클래스를 만들 수 있습니다. 이러한 클래스를 만들기 위해서는 abstract 키워드를 이용하여 클래스를 정의하면 되는데 이를 추상 클래스라 합니다. C#에서 추상 클래스는 개체를 생성할 수 없으며 단지 상속을 통해 기반 클래스 역할만 할 수 있습니다.

추상 클래스 형식의 개체를 생성하려고 할 때 오류 화면
[그림 24] 추상 클래스 형식의 개체를 생성하려고 할 때 오류 화면

 추상 클래스에는 추상 메서드를 캡슐화할 수 있는데 abstract 키워드를 명시하고 메서드의 수행 코드는 정의하지 않습니다. 이처럼 추상 메서드를 캡슐화하면 파생 형식에서는 추상 멤버를 재정의해야 개체를 생성할 수 있습니다.

▶ abstract 키워드를 이용한 추상 클래스 정의 및 추상 메소드 선언

abstract class Man //추상 클래스
{
    internal abstract void Work(); //추상 메서드
}
class Student : Man
{
    internal override void Work()//기반 형식 Man의 추상 메서드 Work 재정의
    {
        Console.WriteLine("공부하다.");
    }
}