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

C#에서 VB 모듈에 해당하는 것은 무엇일까? 정적 클래스(Static Class)로 완벽 대체하기

Visual Basic(VB)에서 모듈(Module)은 별도의 초기화 과정 없이도 애플리케이션 내 어디에서든 접근할 수 있는 자유로운 형태의 코드를 담아두는 용도로 사용됩니다.

모듈 안에 선언된 변수는 손쉽게 값을 설정하거나 변경할 수 있으며, 한 번 할당된 값은 프로그램이 실행되는 동안 계속 유지됩니다. 이러한 특성 덕분에 공용 함수나 전역 변수를 관리하기에 매우 편리합니다.

C#에서의 동등한 개념: 정적 클래스

그렇다면 C#에서 VB의 모듈과 같은 역할을 하려면 어떻게 해야 할까요? 정답은 바로 정적 클래스(static class)입니다.

정적 클래스는 인스턴스를 생성할 수 없으며, 클래스 이름을 통해 직접 멤버에 접근할 수 있습니다. 이는 VB 모듈이 제공하는 '초기화 없이 바로 사용 가능'하다는 특징과 정확히 일치합니다.

VB 모듈 예제

Module MyModule
    Public Sub Display()
        MsgBox("Demo!")
    End Sub
End Module

위 VB 코드에서는 MyModule이라는 모듈을 정의하고, 그 안에 메시지 박스를 띄우는 Display 서브루틴을 포함시켰습니다. 별도의 객체 생성 없이 곧바로 호출할 수 있습니다.

C# 정적 클래스 예제

public static class Display {
    public static void DisplayMethod() {
        Console.WriteLine("Demo!");
    }
}

동일한 기능을 C#으로 구현하면 위와 같습니다. 클래스에 static 키워드를 붙이고, 내부 메서드 역시 static으로 선언함으로써 VB 모듈과 같은 방식으로 활용할 수 있습니다.

정리

  • VB 모듈: 초기화 없이 어디서든 접근 가능한 코드 보관소 역할
  • C# 정적 클래스: 인스턴스 생성 불가, 클래스명으로 직접 접근
  • 두 개념 모두 전역 수준의 유틸리티 함수나 공용 데이터를 관리하는 데 적합

VB에서 C#으로 마이그레이션하거나 두 언어를 함께 다룰 때, 모듈은 정적 클래스로 변환한다는 점만 기억하면 됩니다. 이 원칙 하나만 알고 있으면 언어 간 코드 변환이 훨씬 수월해집니다.