cyphen156
C#에서 클래스와 namespace(C++와 다른점 2) 본문
C++의 namespace와 C#의 네임스페이스 설명에 대해서 거의 비슷하게 되어 있어서 둘이 같은 역할을 하는 것 인줄 알았는데 아니었다.
C++에서의 namespace는 cpp파일 또는 헤더 파일 내에서 정의된 여러 변수들, 메서드 등의 중복만을 방지하기 위한 정의였다면, C#에서의 namespace는 이 기능을 넘어선 패키징의 개념이 포함되어있었다. 그렇기 때문에 C/C++에서의 #include, 자바나 자바스크립트에서 제공하는 import라는 작업 대신 using 'namespace'를 통해 사용할 클래스 파일을 '불러오고', 변수나 메서드의 중복 또한 방지해준다.
조금 더 나아가자면 import문에서는 파일 경로를 찾아 해당 파일을 참조할 수 있는 기능이라면, using은 같은 폴더 내부의 cs파일이라면 using문을 이용해 포함시킬 수 있는 것이다. 그럼 작성한 코드를 기능별로 파편화 해서 여러개의 폴더로 쪼개어 관리하고 싶으면 어떻게 해야할까..?
메인 메서드가 포함된 cs파일이 아닌 프로젝트 솔루션 파일( .csproj)이 해당 네임스페이스가 포함된 폴더 경로를 알고있으면 해결된다.
React-Native에서의 App.js에 해당하는 전체 프로젝트를 관리하는 메인 파일이라고 볼 수 있는 것이다.
또 다른 방법이 있다 IDE (Visual Studio)를 사용하면 된다. 비주얼 스튜디오에서는 .NET프로젝트에 대해 하나의 프로젝트 솔루션(최상위 폴더 : FirstApp)안에 있는 cs파일이라면 자동으로 추적하여 namespace 파일을 찾아서 using문에 포함시킬 수 있도록 개발되어있기 때문에 개발자는 이런 파일 경로를 RN처럼 경로를 지정할 필요가 없이 그냥 using문으로 포함시키기만 하면 된다.
'프로그래밍 > C#' 카테고리의 다른 글
C# 버전별 핵심 기능 (1.0 ~ 7.0) (0) | 2023.12.01 |
---|---|
C# 실습 1 .NET 8 Winforms 앱 만들기 (0) | 2023.11.30 |
C# 기초2 C/C++와 다른점 (2) | 2023.11.28 |
C# 기초1 (0) | 2023.11.28 |