🤔Namespace, using
이번 포스팅에서는 Namespace와 using 키워드의 사용 방법에 대해 알아보겠습니다.
중간고사를 대비하여 정리한 내용이기 때문에 내용이 매우 부실할 수 있습니다.
기회가 된다면 C++언어에 대해 제대로 알아보는 시간을 갖도록 하겠습니다.
해당 포스팅은 장진수 교수님의 객체지향설계 과목을 수강하며 작성한 내용임을 알립니다.
🔎 Namespace
namespace는 함수나 구조체 혹은 변수 이름 등의 소속을 정해주는 것입니다.
같은 namespace에 존재하는 식별자들은 하나에 표시됩니다.
다른 namespace에 존재하는 각 식별자에 대해 정규화된 이름이 필요합니다.
Namespace는 global한 범위에서 정의되거나 다른 Namespace의 내부에 정의되어야만 한다.
또한 class와 마찬가지로 ";"이 필요 없습니다.
이름이 정의되지 않은 namespace도 지원이 됩니다.
이는 static 키워드와 같이 사용됩니다.
위의 코드에서 program()과 functionA()는 이 파일 내에서만 접근이 가능합니다.
아래와 같은 코드에서는 다른 파일에 같은 이름의 code라는 namespace가 존재하는데 이는 재정의되거나 override 되지 않습니다.
전역의 범위에 저장된 값에 접근하기 위해서는 아래의 코드와 같은 방법을 사용하면 됩니다.
아래의 예제 문제를 함께 보면 조금 더 이해를 쉽게 할 수 있습니다.
출력문에서 "a"를 그대로 사용하면 1000이 출력되고 "N::a"를 사용하면 100이 출력되며 위의 코드와 같이 "::a"를 사용하면 전역변수인 10을 출력하게 됩니다.
아래의 블로그에 매우 쉽게 이해가 갈 수 있도록 정리되어있으니 참고하셔도 좋을 것 같습니다.
https://blockdmask.tistory.com/474
'언어 > C++' 카테고리의 다른 글
[C++] 레퍼런스(Reference) (0) | 2022.10.26 |
---|---|
[C++] C++언어에서 지원하는 C언어의 문법 (0) | 2022.10.26 |
[C++] 생성자/소멸자 (0) | 2022.10.26 |
[C++] 클래스, 함수 오버로딩 (0) | 2022.10.26 |
[C++] 객체지향설계의 이해(실습) (0) | 2022.10.25 |