더북(TheBook)

자식 클래스에서는 override 키워드로 부모의 Work() 메서드를 재정의하지만, sealed 키워드를 붙여 Child 클래스의 Work() 메서드는 더 이상 오버라이드가 불가능하게 설정할 수 있습니다. Work() 메서드를 호출할 때 따로 메서드 본문을 구현하지 않고 base.Work()로 부모 클래스의 Work() 메서드를 실행했습니다.

> class GrandChild : Child
. {
.     public override void Work() => Console.WriteLine("프로게이머");
.     public void Play() => Console.WriteLine("프로게이머");
. }
(3,26): error CS0239: 'GrandChild.Work()': 상속된 'Child.Work()' 멤버는 봉인되어 있으므로 재정의할 수 없습니다.

GrandChild 같은 클래스에서 Child 클래스를 상속하고 sealed 키워드가 붙은 Work() 메서드를 다시 정의해서 사용하면 앞 실행 결과처럼 에러가 발생합니다.

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