네임스페이스

2024. 6. 24. 14:39C++

네임스페이스란?

C++가 지원하는 각종 요소들(변수, 함수, 클래스 등)을 한 범주로 묶어주기 위한 문법이다.

네임스페이스 예시

 

네임스페이스의 블록 내부에 선언하는 변수나 함수들은 모두 명시한 '이름'에 속하게 된다. 내부에서 변수나 함수를 선언한다면 모두 해당 네임스페이스에 속한다.  위의 예시에선 TEST안에 있는 g_nData와 TestFucn가 TEST라는 네임스페이스에 속한다.

이를 통해 우리가 입,출력을 할 때 사용되는 cin,cout,endl등은 모두 std라는 네임스페이스의 소속이라는 사실을 알 수 있다.

 

우리는 이런 네임스페이스를 생략할 수 있는 방법이 있다.

using 선언을 통해 네임스페이스를 미리 선언한 후 네임스페이스를 생략하는 방법이다.

 

 

위와 다른점은 using 선언을 통해 std와 TEST 네임스페이스를 미리 선언해서 std안에 속해있는 cout과 endl을 호출할 때 std를 생략해준 점과, 마찬가지로 g_nData를 호출할 때 TEST 네임스페이스를 생략해준 점이다.

코드를 작성할 때 이와 같이 cin, cout, endl 과 같은 명령어나 TEST와 같은 우리가 직접 만든 네임스페이스 안에서의 기능을 호출할 때마다 네임스페이스를 작성하는 것은 매우 번거로우니 using을 통해 미리 네임스페이스를 선언한 후 코드를 작성하는 것이 더 효율적이다.

'C++' 카테고리의 다른 글

접근 제어 지시자  (1) 2024.07.01
클래스  (0) 2024.06.26
인라인함수  (0) 2024.06.24
다중 정의 (Overloading) , 함수 템플릿  (0) 2024.06.22
함수  (0) 2024.06.22