금융 경제 보험 정보

C++ 기초공부 - 1. Hello World 출력 본문

카테고리 없음

C++ 기초공부 - 1. Hello World 출력

정보캣 2023. 11. 3. 09:01

어떤 언어를 하던지 가장 처음에 해보는 가장 감동적인 문장
"Hello World"

프로그래밍을 한다는 것은 하나의 작은 세계를 창조하는 것이기에 "Hello world" 라는 단어는 정말 잘 만든 단어인것 같다. 어쨋든 C++ 에서도 가장 처음에 해보는 미션은 당연히 헬루오 월드이지 ㅋㅋㅋ

#include <iostream>

int main() {
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

위 코드를 통해서 콘솔에 Hello World를 실행시켜볼 수 있다.

그럼 간단하게 위의 코드를 한줄 한줄 뜯어보면서 공부를 해보자

#include <iostream>

이 코드는 파이썬에서 라이브러리를 쓸 때 import 하는 거랑 똑같은 거라고 생각하면 된다. 처음에는 라이브러리 라는 개념도 이해하기 어려웠는데....음 그냥 실력이 매우 좋은 누군가 만들어놓은 코드 패키지를 그대로 가져와서 사용하는 개념이다.

int main() {

이 코드에서 int는 반환하는 타입을 의미한다. 여기서는 특정 소스의 타입이라고 해야하나? 하여튼 모든 프로그램은 위의 메인 코드 아래에서 실행되는 것들을 진행하는 것인데 그 진행의 결과로 어떤 것을 반환하냐는 의미이다.

int는 Interger의 줄임말으로 정수라는 의미이다. 정수는 소수점이 붙지 않는 '숫자' . 그래서 이 프로그래밍은 모든 것을 잘 완료하면, 다했습니다 라는 의미로 '숫자'를 반환한다는 의미이다.

mian(){ 이 있음으로 해서 이코드가 실제 프로그래밍으로 실행이 되는 일종의 실행키? 같은 것이다.

    std::cout << "Hello, World!" << std::endl;

다음줄을 살펴보자. std:: 는 이름공간의 특정 이름이 'std' 라는 것이다. 이게 무슨 말인것인가 하니.....

1) std::

C++에서는 각 함수마다 이름을 지정하게 되어 있는데, 이때 혹시라도 다른 두명의 작업자가 공동 작업을 했을 경우 이름이 중복되는 문제가 발생할 수 있다. 한 함수 이름은 전체 코드내에서 무수하게 많이 사용되기 때문에 이름 한번 바꾸기 시작하면 대 참사가 일어날 수 있다.

그래서 같은 이름으로 이미 짜여진 코드라도 다르게 인식되어서 사용할 수 있게 만든 것이 이름공간 namespace이다. 공간이라는 개념이 붙어서 직관적으로 이해하기가 힘든데 코드에 이름표를 달았다고 생각하면 된다. 현실세계에서 같은 반에 철수가 둘이 있을 때, 한명은 큰 철수, 한명은 작은 철수로 이름표를 다시 달아줘서 두명의 철수 모두 각자의 정체성?으로 존재하게 한다는 뭐 그런거....

std는 이름공간의 이름중에 <iostream> 라이브러리에 지정되어 있는 이름 인데, 이 이름은 코드 맨 앞줄에서 호출한 "include <iostream> 에 의해 사용되어 진다.

즉 그러니까, <iostream> 이라는 기본 라이브러리에서 지정되어 있는 std 라는 이름표를 가진 함수들을 사용할게. 라는 의미이다. 그러니 다시 코드를 보면 std::cout , cout라는 함수를 사용 할 건데 이건 std라는 이름표가 붙어 있는 함수야 라는 의미이다. 여기서 cout는 출력을 위한 함수인데 이걸 만약에 다른 파일에서 다르게 함수를 만들고 이름을 다르게 붙이면 같은 cout라도 다른 기능을 할 수 있다.

어쨋든 간단하게 말하면 특정 함수를 겹치지 않게 분류하기 위해서 이름표를 한번 더 붙인 개념이고 그래서 실제 사용할 때도 어떤 철수를 사용하는지 이름표를 부르면서 소환해 주는 것이다.

2)cout
여기서 cout는 위에서 말했듯이 출력을 하는 함수이다. 파이썬의 print 같은 느낌. 콘솔에 어떤 값을 입력하는 코드이다

3) <<
이건 출력 키라고 해야할까. 어쨋든 무엇인가를 출력할 때는 이 코드를 써서 그 다음 내용을 출력한다는 의미이다. 반대는 >> 입력

4) "Hello, World!"
큰 따옴표를 붙여줘야 텍스트로 인식을 한다. 큰 따옴표가 없다면 함수명이나 변수명을 호출하는 형태가 된다

5) std::endl;
다시 이름을 한번 불러주고 endl 로 마무리하는 것이다. 이제 더 이상 출력할 것도 입력할 것도 없으니 그만 마무리 하고 다음 줄로 넘어가자 이런 의미이다. 그리고 각 코드 입력이 끝이나면 ;를 통해서 이번줄이 끝났다는 것을 써줘야 한다.

Comments