namespace(C# 참조)namespace (C# Reference)

namespace 키워드는 관련 개체 집합을 포함하는 범위를 선언하는 데 사용됩니다.The namespace keyword is used to declare a scope that contains a set of related objects. 네임스페이스를 사용하여 코드 요소를 구성하고 전역적으로 고유한 형식을 만들 수 있습니다.You can use a namespace to organize code elements and to create globally unique types.


namespace SampleNamespace
{
    class SampleClass { }

    interface SampleInterface { }

    struct SampleStruct { }

    enum SampleEnum { a, b }

    delegate void SampleDelegate(int i);

    namespace SampleNamespace.Nested
    {
        class SampleClass2 { }
    }
}

설명Remarks

네임스페이스 내에서 다음 형식 중 하나 이상을 선언할 수 있습니다.Within a namespace, you can declare one or more of the following types:

C# 소스 파일에서 네임스페이스를 명시적으로 선언하는지 여부에 관계없이 컴파일러는 기본 네임스페이스를 추가합니다.Whether or not you explicitly declare a namespace in a C# source file, the compiler adds a default namespace. 전역 네임스페이스라고도 하는 이 명명되지 않은 네임스페이스는 모든 파일에 있습니다.This unnamed namespace, sometimes referred to as the global namespace, is present in every file. 전역 네임스페이스의 모든 식별자는 명명된 네임스페이스에서 사용할 수 있습니다.Any identifier in the global namespace is available for use in a named namespace.

네임스페이스는 암시적으로 공용 액세스를 사용하며 이 설정은 수정할 수 없습니다.Namespaces implicitly have public access and this is not modifiable. 네임스페이스의 요소에 할당할 수 있는 액세스 한정자에 대한 설명은 액세스 한정자를 참조하세요.For a discussion of the access modifiers you can assign to elements in a namespace, see Access Modifiers.

둘 이상의 선언에서 네임스페이스를 정의할 수 있습니다.It is possible to define a namespace in two or more declarations. 예를 들어 다음 예제에서는 MyCompany 네임스페이스의 일부로 두 클래스를 정의합니다.For example, the following example defines two classes as part of the MyCompany namespace:

namespace MyCompany.Proj1
{
    class MyClass
    {
    }
}

namespace MyCompany.Proj1
{
    class MyClass1
    {
    }
}

예제Example

다음 예제에서는 중첩된 네임스페이스에서 정적 메서드를 호출하는 방법을 보여 줍니다.The following example shows how to call a static method in a nested namespace.

namespace SomeNameSpace
{
    public class MyClass 
    {
        static void Main() 
        {
            Nested.NestedNameSpaceClass.SayHello();
        }
    }

    // a nested namespace
    namespace Nested   
    {
        public class NestedNameSpaceClass 
        {
            public static void SayHello() 
            {
                Console.WriteLine("Hello");
            }
        }
    }
}
// Output: Hello

자세한 내용For More Information

네임스페이스를 사용하는 방법에 대한 자세한 내용은 다음 항목을 참조하세요.For more information about using namespaces, see the following topics:

C# 언어 사양C# Language Specification

자세한 내용은 C# 언어 사양을 참조하세요. C# 언어 사양은 C# 구문 및 사용법에 대한 신뢰할 수 있는 소스입니다.

참고 항목See Also

C# 참조C# Reference
C# 프로그래밍 가이드C# Programming Guide
C# 키워드C# Keywords
네임스페이스 키워드Namespace Keywords
usingusing