namespace(C# 참조)
업데이트: 2007년 11월
namespace 키워드는 범위를 선언하는 데 사용됩니다. 이 네임스페이스 범위를 사용하면 코드를 구성할 수 있으며 전역적으로 고유한 형식을 만들 수 있습니다.
namespace SampleNamespace
{
class SampleClass { }
interface SampleInterface { }
struct SampleStruct { }
enum SampleEnum { a, b }
delegate void SampleDelegate(int i);
namespace SampleNamespace.Nested
{
class SampleClass2 { }
}
}
설명
네임스페이스 내에서 아래와 같은 형식을 하나 이상 선언할 수 있습니다.
C# 소스 파일에 네임스페이스를 명시적으로 선언하든 그렇지 않든 관계없이 컴파일러에서는 기본 네임스페이스를 추가합니다. 명명되지 않은 이 네임스페이스는 전역 네임스페이스이라고도 하며 모든 파일에 존재합니다. 전역 네임스페이스의 모든 식별자는 명명된 네임스페이스에서 사용할 수 있습니다.
네임스페이스는 암시적으로 공용 액세스이며 수정할 수는 없습니다. 네임스페이스의 요소에 할당할 수 있는 액세스 한정자에 대한 자세한 내용은 액세스 한정자(C# 참조)를 참조하십시오.
두 개 이상의 선언에서 네임스페이스를 정의할 수 있습니다. 예를 들어, 다음 예제에서는 두 클래스를 모두 MyCompany 네임스페이스의 일부로 정의합니다.
namespace MyCompany.Proj1
{
class MyClass
{
}
}
namespace MyCompany.Proj1
{
class MyClass1
{
}
}
예제
아래 예제에서는 중첩된 네임스페이스에서 정적 메서드를 호출하는 방법을 보여 줍니다.
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
자세한 내용
네임스페이스 사용에 대한 자세한 내용은 다음 항목을 참조하십시오.
C# 언어 사양
자세한 내용은 C# 언어 사양의 다음 단원을 참조하십시오.
3.4.1 네임스페이스 멤버
3.8 네임스페이스 및 형식 이름
9 네임스페이스