using System;
using System.Collections.Generic;
using System.Text;
namespace ClassTest4
{
class AB
{
public virtual void ABC()
{
Console.WriteLine("A-ABC");
}
public virtual void Display()
{
Console.WriteLine("A-Display");
}
public virtual void Output()
{
Console.WriteLine("A-Output");
}
}
class A:AB {
public sealed override void ABC() {
Console.WriteLine("A-ABC");
}
public override void Display()
{
Console.WriteLine("A-Display");
}
public override void Output()
{
Console.WriteLine("A-Output");
}
}
class B :A{
/* public override void ABC() {
Console.WriteLine("B-ABC");
} 위가 실드로 되어있어서 재정의 못함*/
public override void Display() {
Console.WriteLine("B-Display");
}
}
class CTest
{
static void Main(string[] args)
{
A pA = new A();
pA.ABC();pA.Display();pA.Output();
pA = new B();
pA.ABC();pA.Display();pA.Output();
}
}
}
- sealed 클래스는 파생 클래스에서 사용할 수 없는 클래스 이다.
- sealed 클래스는 상속을 막는 클래스 이다.
- sealed 클래스는 보안 및 코드 설계 부분의 명확하게 하기 위해 사용
- sealed클래스는 상업적인 코드 및 내부구현이 복잡해 파생클래스에서
- sealed 메서드는 파생 클래스에서 오버라이드 할 수 없다.
[출처] sealed 메서드와 클래스|작성자 rlaals6961
'.NET > C#' 카테고리의 다른 글
어셈블리 동적 로딩 (0) | 2010.03.31 |
---|---|
Const Vs Readonly (0) | 2010.03.29 |
Sort메소드 (0) | 2010.03.28 |
Delegate-2 (0) | 2010.03.27 |
직렬화 (0) | 2010.03.27 |