메서드에 대해 C#에서 봉인된 수정자를 사용하면 메서드가 재정의하는 기능이 손실됩니다. 봉인된 메서드는 파생 클래스의 일부여야 하며 메서드는 재정의된 메서드여야 합니다.
예를 들어 보겠습니다 -
다음 예제에서는 Display() 메서드를 재정의할 수 없습니다. ClassTwo 파생 클래스에 대해 봉인된 수정자가 있기 때문입니다.
ClassOne은 우리의 기본 클래스인 반면 ClassTwo와 ClassThree는 파생 클래스입니다 -
예
class ClassOne { public virtual void display() { Console.WriteLine("baseclass"); } } class ClassTwo : ClassOne { public sealed override void display() { Console.WriteLine("ClassTwoderivedClass"); } } class ClassThree : ClassTwo { public override void display() { Console.WriteLine("ClassThree: Another Derived Class"); } }
위에서 ClassThree 파생 클래스 아래에서 우리는 봉인된 메서드를 재정의하려고 했습니다. 봉인된 방법을 사용할 경우 허용되지 않으므로 오류가 표시됩니다.