반응형
아래 글은 C# 네임스페이스(namespace) 관련 개념 정리 및 작성자 공부를 위해 작성되었습니다.
📃 참고자료
- C# 교과서(길벗 출판사) - 33단원 네임스페이스 452 ~ 459페이지
- 유튜브 채널 VisualAcademy [C# 교과서 마스터하기 33. 네임스페이스]
- 닷넷코리아 (https://www.dotnetkorea.com/)
https://www.youtube.com/watch?v=dRRSGy9Tad8
✳ 네임스페이스(Namespace)
- 클래스명의 중복 방지 <- 네임스페이스의 가장 큰 사용 이유
- 클래스를 계층적으로 관리
- 회사마다 회사명을 Top 네임스페이스로 구성
✳ System 네임스페이스
- System.Console.WriteLine();
- System 네임스페이스 안에 있는
-> Console 이름의 클래스 안에 있는
=> WriteLine 이름의 메서드
✳ 이외 네임스페이스의 사용 이유 및 특성
- 클래스 및 기타 형식(Type)을 구조화
- 클래스 이름과 기타 형식의 이름이 충돌하지 않도록 방지
- 표준 namespace는 대부분 System으로 시작
- System, System.Text, System.Data .... - 사용 가이드라인
- 대문자로 시작: 닷넷의 모든 API는 대문자로 시작
- 회사명 또는 브랜드 사용 - 필요하다면 복수형 이름도 상관 없음
- System.Collections - 네임스페이스와 클래스 이름을 동일한 것으로 사용 금지
- 낫넷 API 탐색기 적극 활용
✳ 예제코드
//[?] 네임스페이스: 클래스 등의 사용자 정의 형식의 이름 충돌 방지 및 관련 기능끼리 묶어서 관리
using System;
namespace Foo
{
public class Car
{
public void Go() => Console.WriteLine("[1] Foo 네임스페이스의 Car 클래스 호출");
}
}
namespace Bar
{
public class Car
{
public void Go() => Console.WriteLine("[2] Bar 네임스페이스의 Car 클래스 호출");
}
}
class NamespaceNote
{
static void Main()
{
Foo.Car fooCar = new Foo.Car();
fooCar.Go(); // [1] Foo 네임스페이스의 Car 클래스 호출
Bar.Car barCar = new Bar.Car();
barCar.Go(); // [2] Bar 네임스페이스의 Car 클래스 호출
}
}
반응형
'프로그래밍언어 & 프레임워크 > C#' 카테고리의 다른 글
C# 메서드(Method)와 매개변수(Parameter) (0) | 2021.06.06 |
---|---|
C# 소멸자(Destructor) (0) | 2021.06.05 |
C# 개체(Object) 만들기 (0) | 2021.06.03 |
C# 널(Null) (0) | 2021.06.02 |
C# 컬렉션(Collection) (0) | 2021.06.01 |