sealed 한정자는 클래스, 인스턴스, 메서드 및 속성에 적용할 수 있습니다
봉인 클래스는 상속할 수 없습니다. 봉인 메서드는 기본 클래스의 메서드를 재정의하지만 이후의 파생 클래스에서는 봉인 메서드 자체를 재정의할 수 없습니다. 메서드나 속성에 sealed 한정자를 적용하는 경우 항상 override(C# 참조)를 함께 사용해야 합니다.
봉인 클래스는 상속할 수 없습니다. 봉인 메서드는 기본 클래스의 메서드를 재정의하지만 이후의 파생 클래스에서는 봉인 메서드 자체를 재정의할 수 없습니다. 메서드나 속성에 sealed 한정자를 적용하는 경우 항상 override(C# 참조)를 함께 사용해야 합니다.
다음 예제와 같이 클래스 선언에 sealed 한정자를 사용하면 클래스가 상속되는 것을 방지할 수 있습니다.
sealed class SealedClass
{
public int x;
public int y;
}
{
public int x;
public int y;
}
*sealed Class*
sealed 한정자는 클래스의 상속, 메서드의 재정의를 막는다.
sealed 로 선언된 클래스를 다른 클래스가 상속받으려 하면 Error발생.
-보안 및 코드 설계 부분을 명확하게 하기 위해 사용.
-상업적인 코드 및 내부구현이 복잡해 파생 클래스에서 오버라이드하면 문제가 발생할 가능성이 있는
-코드를 사전에 차단할 용도로 사용
*sealed Method*
최상위 클래스에서 virtual로 정의된 메서드를 상속받는 클래스에서 sealed한정자로 override로 선언하게되면
그 클래스를 상속받는 클래스에서는 해당 메서드를 재정의 할 수 없다.
-파생 클래스에서 오버라이드 할 수 없다.
-sealed 메서드는 꼭 override앞에서만 사용할 수 있다.
-sealed를 쓰면 상속을 줄 수 없으므로 하위 클래스에서 재정의 불가능
sealed 한정자는 클래스의 상속, 메서드의 재정의를 막는다.
sealed 로 선언된 클래스를 다른 클래스가 상속받으려 하면 Error발생.
-보안 및 코드 설계 부분을 명확하게 하기 위해 사용.
-상업적인 코드 및 내부구현이 복잡해 파생 클래스에서 오버라이드하면 문제가 발생할 가능성이 있는
-코드를 사전에 차단할 용도로 사용
*sealed Method*
최상위 클래스에서 virtual로 정의된 메서드를 상속받는 클래스에서 sealed한정자로 override로 선언하게되면
그 클래스를 상속받는 클래스에서는 해당 메서드를 재정의 할 수 없다.
-파생 클래스에서 오버라이드 할 수 없다.
-sealed 메서드는 꼭 override앞에서만 사용할 수 있다.
-sealed를 쓰면 상속을 줄 수 없으므로 하위 클래스에서 재정의 불가능
'Sunmoon_BIT > C#' 카테고리의 다른 글
Visual Studio2008 유용한단축키 (0) | 2010.04.03 |
---|---|
Visual Studio 2008 자동 줄맞춤 (0) | 2010.04.03 |
Effective C# (0) | 2010.04.01 |
Deligate [대리자] (0) | 2010.03.26 |
연산자 오버로딩 (0) | 2010.03.26 |