[C++] namespace
https://modoocode.com/136
위 싸이트에서 공부했습니다.
namespace란?
변수, 함수, 클래스 등의 이름 충돌을 방지하기 위한 이름 공간이다.
서로 다른 namespace에서는 동일한 이름을 사용할 수 있다.
사용 예시
ini
namespace A {
int value = 10;
}
namespace B {
int value = 20;
}
int main() {
int a = A::value;
int b = B::value;
}
::: 범위 지정 연산자using namespace std;: std namespace의 이름을 범위 지정 없이 사용using std::cout;: 특정 이름만 가져오기- 익명 namespace : 해당 소스 파일 내부에서만 사용할 이름 정의
면접 예상 질문
Q. namespace를 사용하는 이유는?
이름 충돌을 방지하고 코드를 논리적으로 구분하기 위해 사용합니다.
Q. using namespace std;를 권장하지 않는 이유는?
std의 이름들이 현재 범위에 도입되어 다른 이름과 충돌할 가능성이 높아지기 때문입니다. 특히 헤더 파일에서는 사용을 피하는 것이 좋습니다.
Q. namespace와 클래스의 차이는?
namespace는 이름을 구분하기 위한 공간이고, 클래스는 데이터와 기능을 묶어 객체를 정의하기 위한 자료형입니다.

