Sealed 키워드는 Method와 Class에 사용됩니다.
사전을 보면, "봉인된,밀봉된" 의 뜻을 가진 것을 볼 수 있다. Sealed 키워드가 달린 Method나 Class는 상속시, 더 이상 재정의 되어 사용될 수 없고, 상속도 불가능 하다.
아래의 class에 사용된 sealed를 보세요.
// sealed 키워드 : 더 이상 상속불가능한 클래스로 만든다. public class A {} public sealed class B : A { public void Bottom() { Console.WriteLine("Sealed Class"); } } // error CS0509: 'CSharpTest.C': cannot derive from sealed type 'CSharpTest.B' //public class C : B {}
Method에 사용시 제약이 따릅니다. override 되는 함수에만 선언가능합니다.
아래의 method에 사용된 sealed를 보세요.
public class A { public virtual void Func() { } } public class B : A { // 더 이상 함수를 상속받지 못하도록 한다. sealed public override void Func() { } } public class C : B { // error CS0239: 'CSharpTest.C.Func()': cannot override inherited member 'CSharpTest.B.Func()' because it is sealed // public override void Func() { } }
'.Net' 카테고리의 다른 글
Advanced C# - 한빛미디어 (1) | 2010.12.09 |
---|---|
C# 언어 명세서 (CSharp Language Specification) (0) | 2010.12.09 |
Sealed (0) | 2010.12.09 |
오버라이딩 (Overriding) 과 오버로딩 (Overloading) (0) | 2010.12.09 |
.NET Framework 의 Garbage Collection (0) | 2010.12.06 |
0