코드몽키블로그#

C# 네임스페이스 본문

C# 기초문법/C# 네임스페이스

C# 네임스페이스

몽키치트닷컴 2019. 6. 1. 14:18

C# 네임스페이스

.NET Framework은 무수하게 많은 클래스들을 가지고 있는데, 예를 들면 .NET 4.0은 약 11,000개의 클래스를 가지고 있다. 이렇게 많은 클래스들을 충돌없이 보다 편리하게 관리/사용하기 위해 .NET에서 네임스페이스를 사용한다. C#에서도 이러한 개념을 적용하여 클래스들이 대개 네임스페이스 안에서 정의된다. 비록 클래스가 네임스페이스 없이도 정의 될 수는 있지만, 거의 모든 경우 네임스페이스를 정의하는 것이 일반적이다.

namespace MyNamespace
{
   class A
   {
   }
   
   class B
   {
   }
}

네임스페이스 참조

네임스페이스를 사용하기 위해서는 두가지 방식이 있다. 첫째는 클래스명 앞에 네임스페이스 전부를 적는 경우와 둘째는 프로그램 맨 윗단에 해당 using을 사용하여 C# (.cs) 파일에서 사용하고자 하는 네임스페이스를 한번 설정해 주고, 이후 해당 파일 내에서 네임스페이스 없이 직접 클래스를 사용하는 경우이다. 실무에서는 주로 두번째 방식을 사용한다.

//첫번째 방식
static void Main(string[] args)
{
    System.Console.WriteLine();
}

//두번째 방식
using System; //System 네임스페이스 지정

static void Main(string[] args)
{
    Console.WriteLine();
}

C# 네임스페이스 예제

using System;

namespace MySystem.MySubSystem
{
    public class Class1
    {
        public int Calculate(int a, int b)
        {
            int abs_Sum = System.Math.Abs(a) + Math.Abs(b);
            return abs_Sum;
        }
    }
}
  • 클래스 Class1은 MySystem.MySubSystem 이라는 네임스페이스 안에서 정의되어 있다.
  • 네임스페이스는 계층적으로 구성될 수 있다.
  • System.Math.Abs(a)은 사용하고자 하는 클래스명(Math) 앞에 해당 네임스페이스(System)를 적은 경우이고, Math.Abs(b)은 네임스페이스를 맨 윗단에 using System; 으로 정의해 준 경우이다.
  • 다른 C# 프로젝트에서 위의 Class1을 사용하려면 (해당 어셈블리 혹은 프로젝트를 참조 추가하고), using MySystem.MySubSystem; 을 파일 상단에 적어 주면 된다.
Comments