더북(TheBook)

구현 클래스와 추상 클래스

추상 클래스가 아닌 부모 클래스를 구현(concrete) 클래스라고 합니다. 구현 클래스는 추상 클래스와 달리 다른 클래스의 부모 클래스가 될 수도 있고, 인스턴스화가 될 수도 있습니다. 이와 달리 추상 클래스는 다른 클래스의 부모 클래스로만 사용 가능하며, 인스턴스화될 수는 없습니다. 추상 클래스는 하나 이상의 추상 멤버를 가질 수 있습니다.

 

추상 클래스를 만들고 상속하기

추상 클래스를 만들고 이를 상속하는 예제를 살펴보겠습니다. 다음 내용을 입력한 후 실행해 보세요.

> abstract class GeneralManager     //부장님 클래스 생성
. {
. public abstract void SayHumor();  //메서드 본문 생략
. }
>
> class Person : GeneralManager     //부장님 클래스를 상속하는 사람 클래스 생성
. {
.     public override void SayHumor()
.     {
.         Console.WriteLine("1+1은? 노가다!");
.     }
. }
>
> var person = new Person();
> person.SayHumor();
1+1은? 노가다!

현실 세계 부장님의 아재 개그를 표현해 보았습니다. GeneralManager 클래스를 상속하는 모든 Person 클래스는 SayHumor() 메서드를 강제로 구현해야 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.