c#

C# 프로그래밍 - 클래스 유형(sealed, partial, nested, 기타)

디지털콘텐츠크리에이터 2024. 10. 1. 23:58

C# 프로그래밍 - 클래스 유형(sealed, partial, nested, 기타)

sealed 클래스

sealed 클래스는 더 이상 상속될 수 없는 클래스를 의미합니다. sealed 키워드를 사용하여 선언한 클래스는 다른 클래스가 상속할 수없습니다. sealed 클래스는 상속 계층의 끝을 나타내며 이 클래스를 기반으로 새로운 클래스를 만들 수 없습니다(더 이상 확장할 필요가 없는 최종 구현 클래스에 사용) 
특정 클래스가 상속되지 않아야 함을 명시적으로 나타낼 수 있으며 중요한 클래스가 의도치 않게 상속되어 수정되는 것을 방지할 수 있습니다.

 

sealed 클래스 사용 예시
public sealed class SealedClass
{
    
}

아래 스크립트는 컴파일 오류를 발생시킵니다.
public class DerivedClass : SealedClass
{
   
}

 


partial 클래스

partial 키워드를 사용하여 하나의 클래스 정의를 여러 파일에 분할하여 작성할 수 있습니다. partial 클래스는 컴파일 시 하나의 클래스로 결합됩니다. 클래스가 크거나 복잡한 경우 또는 여러 사람이 협업하는 경우에 partial 클래스를 사용하여 코드의 가독성과 관리성을 높일 수 있습니다.
https://learn.microsoft.com/ko-kr/dotnet/csharp/programming-guide/classes-and-structs/partial-classes-and-methods
partial 클래스는 동일한 접근 제한자(public, internal)를 사용하여 선언되어야하며 동일한 네임스페이스 내에 있어야 합니다.
모든 파일이 동일한 어셈블리 내에 있어야 합니다.

 

partial 클래스 예시
// File1.cs
public partial class MyClass
{
    public void Method1()
    {
        Console.WriteLine("Method1");
    }
}

// File2.cs
public partial class MyClass
{
    public void Method2()
    {
        Console.WriteLine("Method2");
    }
}

class Program
{
    static void Main()
    {
        MyClass myClass = new MyClass();
        myClass.Method1(); // "Method1" 출력
        myClass.Method2(); // "Method2" 출력
    }
}

 

 



nested class

https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/classes-and-structs/nested-types