C#_ Unity Game programming

C# - 네임스페이스를 사용하는 이유

doyyy_0 2024. 4. 16. 15:21

네임스페이스란?

네임스페이스는 관련 있는 클래스, 인터페이스, 함수 및 기타 식별자를 그룹화하여 코드의 조직을 돕고, 이름 충돌을 방지하는 코드 구조화 도구입니다. 네임스페이스는 라이브러리나 애플리케이션의 독립된 모듈성을 제공하고, 유지 관리를 용이하게 합니다.

네임스페이스의 필요성

  1. 이름 충돌 방지: 서로 다른 라이브러리 또는 모듈에서 동일한 이름(예를들어 같은 이름의 클래스)을 사용할 수 있게 해줍니다. 이는 특히 대규모 프로젝트나 여러 외부 라이브러리를 사용할 때 유용합니다.
  2. 코드 관리의 용이성: 네임스페이스를 사용하면 코드를 논리적인 단위로 구분하여 관리할 수 있습니다. 이는 프로젝트의 가독성과 유지보수성을 향상시킵니다.

네임스페이스 사용 방법

namespace MyProject
{
    class MyClass
    {
        public void MyMethod()
        {
            Console.WriteLine("Hello, World!");
        }
    }
}

 

위 예제에서 MyProject는 네임스페이스이며, MyClass는 이 네임스페이스에 속하는 클래스입니다.

다중 네임스페이스 예제

네임스페이스를 사용하여 동일한 이름의 클래스를 다르게 구현할 수 있는 예제:

namespace LibraryOne
{
    public class Person
    {
        public string Name { get; set; }
        public int Age { get; set; }

        public void Greet()
        {
            Console.WriteLine($"Hello, I'm {Name} from Library One.");
        }
    }
}

namespace LibraryTwo
{
    public class Person
    {
        public string Name { get; set; }
        public string Email { get; set; }

        public void Greet()
        {
            Console.WriteLine($"Hello, I'm {Name} and my email is {Email}.");
        }
    }
}

 

예제 사용 :

var personOne = new LibraryOne.Person { Name = "Alice", Age = 25 };
var personTwo = new LibraryTwo.Person { Name = "Bob", Email = "bob@example.com" };

personOne.Greet();
personTwo.Greet();

 

네임스페이스를 사용하는 이점

  • 모듈성: 각 네임스페이스는 라이브러리 또는 애플리케이션의 특정 부분을 나타내므로, 코드를 모듈화하여 개발할 수 있습니다.
  • 유지 관리: 관련 기능을 함께 그룹화함으로써 코드의 유지 관리가 용이해집니다.
  • 재사용성: 네임스페이스는 코드의 재사용성을 촉진시키며, 다른 프로젝트에서도 동일한 네임스페이스를 재사용할 수 있습니다.