C#에서 namespace는 java에서 package와 동일한 개념입니다.
Namespace는 class들의 모음으로 생각하면 됩니다.
아래 3가지 코드 예제를 보면서 이해하도록 해보겠습니다.
1)Namespace 선언 (Defining a Namespace)
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(); } }
Inside first_space Inside second_space
위 코드에서 2개의 네임 스페이스를 선언한 후 각각 네임 스페이스에 있는 namespace_cl를 선언해서 사용 할 수있습니다.
하지만 위와 같이 사용하면 코드가 길어져서 가독성이 떨어 집니다. 그래서 Using 키워드를 사용합니다.
2) Using 키워드 사용 (Using Keyword)
using System; using first_space; using second_space; namespace first_space { class abc { public void func() { Console.WriteLine("Inside first_space"); } } } namespace second_space { class efg { public void func() { Console.WriteLine("Inside second_space"); } } } class TestClass { static void Main(string[] args) { abc fc = new abc(); efg sc = new efg(); fc.func(); sc.func(); Console.ReadKey(); } }
Inside first_space Inside second_space
코드 맨 위에 아래 처럼 2개의 Using으로 각각 네임 스페이스를 사용하도록 했습니다.
using first_space;
using second_space;
위와 같이 using 키워드를 사용했기 때문에 아래 처럼 코드가 간결해 집니다.
abc fc = new abc();
efg sc = new efg();
fc.func();
sc.func();
만약 using을 사용 하지 않는다면,
first_space.abc fc = new first_space.abc();
second_space.efg sc = new second_space.efg();
fc.func();
sc.func();
위에 코드 처럼 길어집니다.
이상으로 [1] ~ [20]개로 C# 기본강좌(Basic lecture)를 마무리 하고 다음 블로그 글은 좀더 난이도가 있는 고급 주제로 글을 작성하겠습니다.
'C#(CSharp) > 기초강좌(Basic)' 카테고리의 다른 글
[19] C# 인터페이스 ( C# interface) (0) | 2015.02.23 |
---|---|
[18] C# 다형성 (C# Polymorphism) (0) | 2015.02.23 |
[17] C# 상속 (C# Inheritance) (0) | 2015.02.23 |
[16] C# 클래스 생성자, 파괴자, 스택틱 (C# class, constructor, destructor, static) (0) | 2015.02.23 |
[15] C# Enum (0) | 2015.02.23 |