본문 바로가기
프로그래밍/c#

c# 네임스페이스 Namespace

by 지나팩 2021. 9. 15.

네임 스페이스에 대해서 알아보도록 하겠습니다. 네임 스페이스는 수 없이 많은 클래스들 간의 충돌을 방지하고자 사용합니다. 비슷한 의미와 역할을 하는 클래스들을 비롯한 개체들은 이름이 비슷하거나 똑같을 수도 있습니다. 특히 큰 프로젝트의 경우 여러 사람이 작업을 진행하게 되는데 이 경우 문제가 여러 곳에서 발생할 수도 있습니다. 그래서 이 네임 스페이스를 활용해 클래스들을 관리하고 사용합니다. c#의 .net 프레임 워크의 경우 무려 11,000여개의 클래스들이 존재함에 따라 네임 스페이스가 적극적으로 활용되고 있습니다.

네임 스페이스 사용방법

위 이미지를 보듯 한 네임 스페이스 내에 같은 이름의 클래스가 존재한다면 당연히 오류가 발생하지만 서로 다른 네임 스페이스에 존재하는 같은 이름의 클래스는 충돌이 일어나지 않습니다. 네임 스페이스에 포함된 클래스를 생성하려면 네임 스페이스의 이름과 함께 생성하면 됩니다. 만약 네임 스페이스에 포함된 클래스들이 많이 사용된다면 매번 네임스페이스의 이름을 쓰는 건 부담입니다. 그래서 사용하는 것이 바로 using 키워드입니다.

콘솔앱 프로젝트를 생성하면 기본적으로 보게되는 네임스페이스들

 

 

https://play.google.com/store/apps/details?id=com.goldenegg

 

골든 에그 - Google Play 앱

수박 게임류의 머지 게임입니다.

play.google.com

 

 

사실 네임 스페이스를 알던 모르던 우린 이미 네임 스페이스로 이루어진 구조속에서 코딩을 하고 있습니다.

Test1 네임 스페이스를 using 키워드를 통해 추가해두면 위 예제처럼 Test1이라는 네임 스페이스를 명시하지 않고도 Test1 네임 스페이스에 포함되어 있는 Test 클래스에 접근이 가능합니다.

네임 스페이스 중첩도 가능합니다. 굉장히 큰 프로젝트에선 아마도 많이 활용되지 않을까 생각이 드네요. 이 네임 스페이스를 잘 활용한다면 관련된 개체들을 관리하기 굉장히 편리하겠죠??

댓글