본문 바로가기
C++/이론 및 용어

[c++] namespace

by tokkiC 2022. 6. 7.

자바에서 두 메소드의 이름이 같아도 소속된 패키지나 클래스가 다르면 다른 메소드이듯이

C++ 에서도 함수명끼리 겹치지 않도록 namespace라는 상위 분류를 갖게하여

각 namespace가 가지는 함수를 호출해서 사용하도록 하였다

#include<> 로 불러온 파일 내에도 여러 namespace들이 있을것이다. 즉, 함수목록을 모듈화하는데 사용되었고

우리는 그 namespace 안에 있는 함수들을 알고 알맞은 방법으로 호출하면 되는것이다

자바에서   클래스명.메소드명   을 통해서 메소드를 호출하듯이

c++ 에서는 아래의 방법으로 함수를 호출할 수 있다

namespace의 이름::호출하는 함수명   

하지만 매번 namespace의 이름을 쓰기 번거로우니 #include 문의 아래에 아래처럼 작성하여 사용한다

using namespace std;    // std 는 cin, cout, endl 등의 함수를 포함하는 자주 쓰는 namespace 이다. endl 의 l은 L

위와 같이 using namespace를 사용하면 ( namespace의 이름:: )  을 생략하고 아래처럼 바로 함수명으로 호출 가능하다

// 사용안할경우
std::cout << a << "\n";

// 사용할 경우 
cout << a << "\n";

 

댓글