본문 바로가기
카테고리 없음

C++ namespace

by 리승연 2018. 9. 15.
반응형

 이름공간이란 무엇인가?

 

 

 

 예를 들어보자

 

현재 학교에는 'AA'라는 친구가 여러명 있다. 그러므로 우리는 'AA'를 찾고자 하면, 몇 반인지 구분해야 한다. 

아래 이미지에서 2반에 있는 'AA'를 찾기 위해, 2반::AA를 부르는 것을 보여준다.

여기서 'AA'는 이름이며 3반은 이름공간이다. 이름공간과 이름을 함께 표기하면 같은 이름을 가진 사람을 쉽게 구분할 수 있다. 이름충돌방지

 

 

 

 

 

 

 

 

 일상생활뿐 아니라 C++ 프로그래밍 과정에서 이름충돌이 일어나느 경우가 있다

 

프로젝트를 여려 명이 나누어 개발 하는 경우

 

다른 사람이 작성한 소스 코드나 목적 파일을 가져와서 사용하는 경우

 

 

 

 

 이름공간을 생성하는 방법은 namespace 뒤에 자신만의 공간이름을 짓고 '{'와 '}'로 묶는다

 

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
●예제
#include <iostream>
using namespace std;
 
namespace class3 {
    void AA() {
        cout << "나는 3 AA";
    }
}
 
namespace class2 {
    void AA() {
        cout << "나는 2 AA";
    }
};
 
void main() {
    class3::AA();
    cout << endl;
    class2::AA();
}
 
결과 

 


 

반응형