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

C# 네임스페이스(Namespace)란? 개념부터 사용 예제까지

C# 네임스페이스란?

네임스페이스(namespace)는 한 그룹의 이름을 다른 이름들과 분리하여 관리할 수 있도록 해주는 C#의 핵심 기능입니다. 대규모 프로젝트에서 클래스, 구조체, 인터페이스 등의 이름 충돌을 방지하고 코드를 체계적으로 구성하는 데 필수적인 역할을 합니다.

C#에서 네임스페이스 정의는 namespace 키워드로 시작하며, 그 뒤에 네임스페이스 이름을 붙여 선언합니다.

namespace namespace_name {
   // 코드 선언부
}

네임스페이스 사용 예제

다음 예제는 C#에서 서로 다른 두 개의 네임스페이스를 정의하고 이를 활용하는 방법을 보여줍니다.

using System;

namespace first_space {
   class namespace_cl {
      public void func() {
         Console.WriteLine("Inside first_space");
      }
   }
}

namespace second_space {
   class namespace_cl {
      public void func() {
         Console.WriteLine("Inside second_space");
      }
   }
}

class TestClass {
   static void Main(string[] args) {
      first_space.namespace_cl fc = new first_space.namespace_cl();
      second_space.namespace_cl sc = new second_space.namespace_cl();
      fc.func();
      sc.func();
      Console.ReadKey();
   }
}

위 코드에서 first_spacesecond_space라는 두 네임스페이스에는 동일한 이름의 클래스(namespace_cl)가 존재합니다. 하지만 소속된 네임스페이스가 다르기 때문에 이름 충돌 없이 함께 사용할 수 있습니다. 클래스에 접근할 때는 first_space.namespace_cl처럼 네임스페이스 이름을 접두사로 붙여 어느 클래스를 참조하는지 명확히 지정합니다.

실행 결과

Inside first_space
Inside second_space

using 키워드로 더 간편하게

매번 네임스페이스 이름을 전부 작성하는 것이 번거롭다면, 파일 상단에 using 지시문을 추가하여 네임스페이스 접두사를 생략할 수 있습니다.

using first_space;

// 이후 코드에서
namespace_cl fc = new namespace_cl(); // 접두사 생략 가능

이처럼 네임스페이스와 using 키워드를 적절히 활용하면 코드의 가독성과 유지보수성을 크게 높일 수 있습니다.