C#에서는 상속을 통해서만 사용할 수 있는 기반 클래스를 만들 수 있습니다. 이러한 클래스를 만들기 위해서는 abstract 키워드를 이용하여 클래스를 정의하면 되는데 이를 추상 클래스라 합니다. C#에서 추상 클래스는 개체를 생성할 수 없으며 단지 상속을 통해 기반 클래스 역할만 할 수 있습니다.
추상 클래스에는 추상 메서드를 캡슐화할 수 있는데 abstract 키워드를 명시하고 메서드의 수행 코드는 정의하지 않습니다. 이처럼 추상 메서드를 캡슐화하면 파생 형식에서는 추상 멤버를 재정의해야 개체를 생성할 수 있습니다.
▶ abstract 키워드를 이용한 추상 클래스 정의 및 추상 메소드 선언
abstract class Man //추상 클래스 { internal abstract void Work(); //추상 메서드 } class Student : Man { internal override void Work()//기반 형식 Man의 추상 메서드 Work 재정의 { Console.WriteLine("공부하다."); } }