재우니의 블로그




닷넷에는 네임스페이스가 있답니다. 이는 클래스간의 충돌을 막기 위해 고안한 방법이죠. 

간단하게 예를 들면, 개발자가 고객이라는 표현을 위해서 Customer 라는 클래스를 정의하고 다른 프로그램상에서 이 이름의 클래스를 정의했다고 생각을 해보죠. 이를 네임스페이스를 정의하면 데이터 형식이 단순히 그룹화되는 것이 아니라, 네임스페이스 이름 내에 있는 모든 데이터형식의 이름이 자동적으로 네임스페이스의 이름을 접두사로 가지게 됩니다. 이로인해 서로다른 네임스페이스끼리 중첩될 수도 있답니다. 

닷넷에는 일반적으로 대부분 닷넷클래스에는 System 이라는 네임스페이스를 가지고 있는데, 기본 클래스인 Array 는 이 네임스페이스 안에서도 System.Array 라는 이름을 가지게 되죠.

따라서 닷넷에서는 모든 데이터형식을 네임스페이스 안에서 정의를 해야합니다.

위의 말에 이해가 안되시는 분들을 위해 다른 방식으로 말씀을 드릴께요.
Namespace는 특정 웹사이트에 있는 하나의 문서로서, 무엇에 관한 데이터 집합을 만들고 웹상에서 다른 사람들과 공유하기 위해, 예를 들어 XML을 사용할 때 XML 파일 내에 사용된 특정 데이터 요소나 속성의 이름들을 확인하는 것입니다. 

이렇게 얘기 하면 그게 뭔소리인가 하시는 분들을 위해 쉽게 얘길하면 서점에 있는 책들을 생각하시면 될거 같습니다. 각각의 책들을 Namespace라구 생각하시고.. 저희가 C#을 공부하기 위해선 C# 이라구 적혀 있는 책을 골라서 봐야만 C#에 대해서 알수 있는 것이고, 그 속에 있는 클래스라든가 문법등을 사용하게 되지요... 

마찬가지로 여러가지 Namespace 중에서 지금 우리는 System이란 책을 골라서 그속에 있는 클래스를 사용하여 문장을 
처리하기로 한다는 것입니다.



그럼 네임스페이스의 모양새가 어떻게 생겼는지 알아보죠.

namespace YourCompanyName.SalesServices
{
      class Customer
     {
          .... 코딩
     }
}


posted by 심재운 (shimpark@gmail.com)


'닷넷관련 > CSharp 🍚' 카테고리의 다른 글

C#의 기초 프로그램 테스트를 위한 예제  (0) 2009.02.12
C# 컴파일러 사용하는 방법  (6) 2009.02.12
C# 에 대한 소개  (1) 2009.02.12
실행과 컴파일에 대한 설명  (0) 2009.02.11
닷넷과 자바의 차이점  (10) 2009.02.11