다음을 통해 공유


형식을 구성하도록 네임스페이스 선언

네임스페이스는 C# 프로그래밍에서 두 가지 방법으로 많이 사용됩니다. 먼저 .NET은 다음과 같이 네임스페이스를 사용하여 여러 클래스를 구성합니다.

System.Console.WriteLine("Hello World!");

System은 네임스페이스이고 Console은 해당 네임스페이스의 클래스입니다. 다음 예제와 같이 전체 이름이 필요하지 않도록 using 키워드를 사용할 수 있습니다.

using System;
Console.WriteLine("Hello World!");

자세한 내용은 using 지시문을 참조하세요.

Important

.NET 6 용 C# 템플릿은 ‘최상위 문’을 사용합니다. .NET 6으로 이미 업그레이드한 경우 애플리케이션이 이 문서의 코드와 일치하지 않을 수 있습니다. 자세한 내용은 최상위 문을 생성하는 새 C# 템플릿을 참조하세요.

.NET 6 SDK는 또한 다음 SDK를 사용하는 프로젝트에 대해 ‘암시적’ global using 지시문 집합을 추가합니다.

  • Microsoft.NET.Sdk
  • Microsoft.NET.Sdk.Web
  • Microsoft.NET.Sdk.Worker

이러한 암시적 global using 지시문에는 해당 프로젝트 형식의 가장 일반적인 네임스페이스가 포함됩니다.

자세한 내용은 암시적 using 지시문에 대한 문서를 참조하세요.

둘째, 고유한 네임스페이스를 선언하면 대규모 프로그래밍 프로젝트에서 클래스 및 메서드 이름의 범위를 제어할 수 있습니다. 다음 예와 같이 네임스페이스 키워드를 사용하여 네임스페이스를 선언합니다.

namespace SampleNamespace
{
    class SampleClass
    {
        public void SampleMethod()
        {
            System.Console.WriteLine(
                "SampleMethod inside SampleNamespace");
        }
    }
}

네임스페이스 이름은 유효한 C# 식별자 이름이어야 합니다.

C# 10부터 다음 예제와 같이 해당 파일에 정의된 모든 형식에 대한 네임스페이스를 선언할 수 있습니다.

namespace SampleNamespace;

class AnotherSampleClass
{
    public void AnotherSampleMethod()
    {
        System.Console.WriteLine(
            "SampleMethod inside SampleNamespace");
    }
}

이 새로운 구문의 장점은 가로 공간과 중괄호를 절약하여 더 간단하다는 것입니다. 이렇게 하면 코드를 더 쉽게 읽을 수 있습니다.

네임스페이스 개요

네임스페이스에는 다음과 같은 속성이 있습니다.

  • 대규모 코드 프로젝트를 구성합니다.
  • . 연산자를 사용하여 구분됩니다.
  • using 지시문은 모든 클래스에 대해 네임스페이스 이름을 지정할 필요가 없습니다.
  • global 네임스페이스는 “루트” 네임스페이스입니다. global::System은 항상 .NET System 네임스페이스를 가리킵니다.

C# 언어 사양

자세한 내용은 C# 언어 사양네임스페이스 섹션을 참조하세요.