Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 정적 클래스(Static Class)의 개념과 사용법

C# 정적 클래스란?

C#에서 정적 클래스(static class)는 인스턴스를 생성할 수 없으며, 오직 정적(static) 멤버만 포함할 수 있는 특수한 클래스입니다. 정적 클래스는 자동으로 sealed 처리되어 상속이 불가능하고, 인스턴스 생성자(instance constructor)를 가질 수 없습니다.

정적 클래스의 주요 특징

  • 인스턴스화 불가: new 키워드로 객체를 생성할 수 없습니다.
  • 정적 멤버만 허용: 모든 필드, 메서드, 속성은 반드시 static으로 선언해야 합니다.
  • 상속 불가(sealed): 다른 클래스가 정적 클래스를 상속할 수 없습니다.
  • 인스턴스 생성자 없음: 필요하다면 정적 생성자(static constructor)만 사용할 수 있습니다.

다음은 정적 클래스와 정적 멤버를 활용한 간단한 예제입니다.

예제 코드

using System;

public static class Demo {
    public static float PI = 3.14f;
    public static int calc(int n){ return n*n; }
}

class Program {

    public static void Main(string[] args) {
        Console.WriteLine("PI: "+Demo.PI);
        Console.WriteLine("Square: " + Demo.calc(3));
    }
}

실행 결과

PI: 3.14
Square: 9

위 예제에서 정적 클래스는 다음과 같이 선언되어 있습니다.

public static class Demo {
    public static float PI = 3.14f;
    public static int calc(int n){ return n*n; }
}

여기서 사용된 정적 멤버는 아래 두 가지입니다.

public static float PI = 3.14f;
public static int calc(int n){ return n*n; }

Demo.PI, Demo.calc()처럼 클래스 이름을 통해 멤버에 직접 접근할 수 있으며, 별도의 객체 생성 없이 상수 값이나 유틸리티 기능을 제공하는 용도로 널리 활용됩니다. 대표적인 예로 C# 표준 라이브러리의 Math 클래스가 정적 클래스 방식으로 설계되어 있습니다.