BLOG
C#

C# 1. namespace, partial, using


Jan. 21, 2022, 11:39 p.m.



1. namespace란?


namespace는 C#에서 코드를 담아 놓는 공간이라고 생각하면 편합니다. C# 프로그램을 만들 때 namespace를 만들고, 그 안에 클래스와 각종 메소드를 선언하죠.

기본적으로 이렇게 선언됩니다.

namespace hello {

}

hello라는 namespace를 선언했습니다.

네임스페이스 안에 있는 클래스들은 서로를 '볼 수' 있습니다. 서로 다른 파일에 존재하고 있어도 말이죠.

예를 들어서 아래와 같이 구성한 상황에서,

-file1.cs-
namespace hello
{
    public class Apple {
        public void Bite() {

        }
    }
}
-file2.cs-
namespace hello
{
    public class Banana {
        public void Eat(Apple apple) {
            apple.Bite();
        }
    }
}

file1.cs에 선언된 Apple 클래스에 있는 Bite 메소드는 file2에서 사용할 수 있습니다. 같은 namespace에 있기 때문에 가능한 일입니다.


2. partial 키워드로 클래스 나누어서 선언


파일이 몇 개인지 상관없이 같은 namespace에 있다면 사용할 수 있습니다.

이를 이용해 필요하다면 여러개의 파일에 나누어 클래스를 선언할 수 있습니다. 바로 'partial' 키워드를 사용해서 말이죠.

-file1.cs-
namespace hello
{
    public partial class Apple {
        public void Bite() {

        }
    }
}
-file2.cs-
namespace hello
{
    public partial class Apple {
        public void Throw() {

        }
    }
}

서로 다른 파일에 같은 Apple 클래스를 partial 키워드를 이용해 나누어서 선언했습니다.


3. using을 이용해 namespace 사용하기


.net 프레임워크를 사용하는 C#은 에디터에서 파일을 생성하기만 해도 위쪽에 using 키워드가 사용되어 있는 모습을 볼 수 있습니다. 이는 그 파일에서 .net 프레임워크에서 제공하는 코드를 사용하기 위해 그 코드가 담겨있는 namespace를 using 키워드를 통해 그 namespace를 사용하겠다고 선언하는 것입니다.

using System;
using System.Windows.Forms;
using hello;

위와 같이 불러올 수 있습니다.

하지만 꼭 using을 써야지만 다른 namespace에 있는 코드를 쓸 수 있는 것은 아닙니다. 귀찮지만 namespace를 직접 쓰는 방법도 있습니다. 예를 들어 System.Windows.Forms.DialogResult namespace에 있는 MessageBox.Show() 메소드를 사용하고 싶을 때 두 가지 방법이 있는 것입니다.

using System.Windows.Forms.DialogResult;
MessageBox.Show("hi");
System.Windows.Forms.DialogResult.MessageBox.Show("hi");

사실 두번째 방법으로 사용하는 경우는 거의 없으리라 생각됩니다.

오늘은 C#에서 namespace가 무엇인지, 그리고 partial 키워드로 클래스를 나누어서 선언하는 것, 그리고 using 키워드로 namespace를 사용한다고 선언하는 것을 알아보았습니다.

namespace partial using



Search