namespace와 std::
namespace
이름 공간을 생성하는 방법은 다음과 같이 namespace 키워드 위에 자신만의 공간 이름을 짓고 '{'와 '}'로 묶는다.
namespace kit { // kit라는 이름 공간 생성
// 이곳에 선언하는 모든 이름은 kit 이름 공간에 생성된 이름
}
그리고 이름을 이용하기 위해서는 다음과 같이 이름 공간을 함께 사용합니다.
| 이름공간(namespace) :: 이름(identifier) |
::는 범위 지정 연산자로서 C++ 표준 연산자입니다.
std::란?
std는 C++ 표준에서 정한 표준 이름 공간으로서, 모든 C++ 표준 라이브러리는 std 이름 공간에 만들어져 있습니다. 그러므로 응용 프로그램이 C++ 표준 라이브러리에서 선언된 이름(identifier)을 사용할 때, std::를 접두어로 붙여야 합니다.
std::cout << "Hello" << std::endl;
std::의 생략과 using 지시어
std 이름 공간에 선언된 수많은 이름에 대한 사용할 때마다 std:: 접두어룰 붙이는 것은 상당히 번거롭다. using 지시어를 이용하면 이름 공간 접두어를 생략할 수 있는데, 다음은 cout 앞의 std::를 생략하도록 using 지시어를 사용한 사례입니다.
using std::cout; // cout에 대해서만 std:: 생략
........................
std::cout << "Hello" << std::endl; // std::cout에만 std:: 생략
앞의 using 지시어는 cout 이름이 std 이름 공간에 선언된 이름임을 공표함으로써, 지시어 아래 모든 코드에서 cout 앞에 std::를 생략할 수 있습니다. 그러나 endl 앞에는 std::를 생략할 수 없습니다.
만일, std 이름 공간에 선언된 모든 이름에 대해 std::를 생략하거자 한다면, 다음과 같이 namespace 키워드와 함께 using 지시어를 사용하면 됩니다.
using namespace std; // std 이름 공간에 선언된 모든 이름에 std:: 생략
...............................
cout << "Hello" << endl; // cout과 endl 앞에 std:: 생략
#include <iostream>과 std
C++ 표준에서 지원되는 모든 라이브러리는 std 이름 공간 안에 구현되어 있기 때문에 <iostream> 헤더 파일 내에 선언된 모든 클래스, 객체, 함수들을 사용할 때 std::를 생략하려면 다음과 같이 합니다.
#include <iostream>
using namespace std;
using namespace std;를 이용하여 코드를 작성하면 다음과 같습니다.
#include <iostream> // cout과 << 연산자 포함
using namespace std;
// C++ 프로그램은 main() 함수에서부터 실행을 시작한다.
int main() {
cout << "Hello\n"; // 화면에 Hello를 출력하고 다음 줄로 넘어감
cout << "첫 번째 맛보기입니다.";
return 0; // main() 함수가 종료하면 프로그램이 종료됨
}
'프로그래밍 언어 > C++' 카테고리의 다른 글
| 객체 생성과 객체 활용 (0) | 2026.05.31 |
|---|---|
| C++ 클래스 만들기 (0) | 2026.05.28 |
| 키보드로 문자열 입력 (0) | 2026.05.25 |
| 키 입력 받기 (1) | 2026.05.22 |
| 프로그램의 기본 요소와 화면 출력 (0) | 2026.05.16 |