Java에는 final 키워드가 있지만 C#에는 구현이 없습니다. 동일한 구현을 위해 sealing 키워드를 사용하십시오.
봉인을 사용하면 메서드의 재정의를 방지할 수 있습니다. 메서드에 대해 C#에서 봉인된 수정자를 사용하면 메서드가 재정의하는 기능이 손실됩니다. 봉인된 메서드는 파생 클래스의 일부여야 하며 메서드는 재정의된 메서드여야 합니다.
다음 예제에서는 ClassTwo 파생 클래스에 대해 봉인된 수정자가 있기 때문에 display() 메서드를 재정의할 수 없습니다.
ClassOne은 우리의 기본 클래스인 반면 ClassTwo와 ClassThree는 파생 클래스입니다 -
예시
class ClassOne {
public virtual void display() {
Console.WriteLine("Baseclass");
}
}
class ClassTwo : ClassOne {
public sealed override void display() {
Console.WriteLine("ClassTwo:derivedClass");
}
}
class ClassThree : ClassTwo {
public override void display() {
Console.WriteLine("ClassThree: Another Derived Class");
}
}