[C++] Hello, world!

2019-09-01 12:25:55 +0000 -
C Plus Plus

프로그래밍 언어를 배우는 가장 좋은 방법은 프로그램을 작성해보는 것입니다.
일반적으로, 초보자가 처음 작성하는 프로그램은 ‘Hello World’라는 프로그램으로 컴퓨터 화면에 “Hello, world!”를 출력하는 프로그램입니다.
매우 간단하지만 C++ 프로그래밍의 모든 기본 구성 요소를 포함하고 있습니다.

// C++로 작성한 나의 첫 프로그램
#include <iostream>

int main()
{
  std::cout << "Hello, world!";
}

위의 코드를 hello.cpp 파일로 저장한 뒤, g++ hello.cpp -o hello 명령으로 컴파일 합니다.
./hello 명령으로 실행하면, “Hello, world!”를 출력하는 것을 확인할 수 있습니다.

이제 위의 프로그램을 한 줄씩 살펴봅시다:

  • Line 1: // C++로 작성한 나의 첫 프로그램
    두 개의 슬래시 부호는 프로그래머가 삽입한 주석(Comment)입니다. 이것은 프로그램 동작에 영향을 주지 않습니다. 프로그래머는 이를 사용하여 코드 또는 프로그램에 대한 간단한 설명을 적을수 있습니다.

  • Line 2: #include <iostream>
    해시 기호(#)로 시작하는 행은 전처리 지시자라고 합니다. 프로그램 컴파일이 시작되기 전에 해석되는 특수한 라인입니다. 위의 코드에 있는 #include <iostream>는 표준 입력 및 출력 작업을 수행할 수 있는 헤더 iostream이라는 표준 C++ 코드를 포함하도록 지시합니다.

  • Line 3: 비어있는 줄
    비어있는 줄은 프로그램에 영향을 주지 않습니다. 코드의 가독성을 향상시킵니다.

  • Line 4: int main()
    main()이라는 함수는 특별한 함수입니다. 프로그램이 실행될 때 가장 먼저 호출되는 함수입니다. 모든 C++ 프로그램은 무조건 main() 함수로 시작합니다.

  • Line 5와 7: {}
    5행의 여는 중괄호({)는 main() 함수 정의의 시작을 나타내고, 7행의 닫는 중괄호는 (}) 끝을 나타냅니다. 이 중괄호 사이의 모든 것은 main() 함수가 호출될 때 발생하는 것을 정의하는 함수의 본문입니다. 모든 함수는 중괄호를 사용하여 정의의 시작과 끝을 나타냅니다.

  • Line 6: std::cout << "Hello World!";
    이 줄은 C++ 명령문입니다. 명령문은 함수 본문 내에 나타나는 순서와 동일한 순서로 실행됩니다.
    이 문장에는 3가지 부분이 있습니다.
    첫째, 컴퓨터 화면에 문자를 출력하는 std::cout입니다. (Standard *Character **Output Device)
    둘째, 삽입 연산자 (<<)는 뒤에 오는 내용이 std::cout에 삽입됨을 나타냅니다.
    마지막으로 따옴표 안의 문장(“Hello, world!”)은 std::cout에 삽입된 내용입니다.
    모든 명령문은 세미콜론(;)으로 끝납니다. 일반적으로 마침표가 글의 문장을 끝내듯이 C++에서는 세미콜론으로 명령문을 끝냅니다.

주석 (Comment)

위에서 언급했듯이 주석은 프로그램 작동에 영향을 주지 않습니다. 그러나 프로그램의 기능과 작동 방식을 소스 코드 내에 입력할 수 있는 중요한 기능입니다.

C ++은 코드를 주석 처리하는 두 가지 방법을 지원합니다.

// line comment
/* block comment */
  • Line Comment : //가 있는 행부터 같은 행 끝까지 주석 처리합니다.
  • Block Comment : /* 문자와 */ 문자 사이에 있는 내용을 주석 처리합니다.

위의 Line Comment와 Block Comment를 사용하여 두 번째 프로그램을 작성해봅시다.

/* C++로 작성한 두 번째 프로그램
   주석을 사용하여 프로그램 작동 설명을 하고 있습니다 */

#include <iostream>

int main ()
{
  std::cout << "Hello, world! ";     // Hello, world!를 출력 합니다.
  std::cout << "I'm a C++ program"; // I'm a C++ program를 출력 합니다.
}

std 네임스페이스 사용하기

만약 이전에 C++ 코드를 본 적이 있다면, std::cout 대신 cout이 사용되는 것을 보았을 것입니다. 둘 다 동일한 객체의 이름이며, 첫 번째는 네임스페이스 std(std::cout) 내에서 직접 사용하며, 두 번째는 정규화되지 않은 cout을 사용합니다. cout은 표준 라이브러리의 일부이며, 표준 C++ 라이브러리의 모든 요소는 네임스페이스 std에 선언됩니다.

std 네임스페이스의 요소를 참조하기 위해 프로그램은 라이브러리의 각 요소를 cout앞에 std::를 붙여서 사용한 것처럼 사용하거나 아래와 같이 선언을 해야 합니다.

using namespace std;

위의 선언을 통해 std 네임스페이스의 모든 요소에 std:: 접두사 없이 정규화 된 방식으로 접근할 수 있습니다.

/* C++로 작성한 두 번째 프로그램
   주석을 사용하여 프로그램 작동 설명을 하고 있습니다 */

#include <iostream>

using namespace std;

int main ()
{
  cout << "Hello, world! ";     // Hello, world!를 출력 합니다.
  cout << "I'm a C++ program"; // I'm a C++ program를 출력 합니다.
}

네임스페이스에 대해서는 다음 글에서 더 자세히 설명됩니다.