그냥 게임개발자
해보자 C++ 스터디01 본문
여러분 C++를 공부하느라 블로그를 한동안 못썼네여~~~
근데 이제 언리얼을 공부하기 이전에 C++를 배우려고 합니다.
제가 배운 내용들을 여러분한테 알려드리고 싶어 이렇게 글을 쓰게되네영
좋아요 그럼 일단 이 강의를 보시는 분들 C언어를 어느정도 아는하에 글을 쓰려고 하니 이 점 참고 바랍니다.
※주의 그냥 일반인이 쓰는거라 이해 안되는거 있으시면 댓글로 달아주세요 같이 공부하는 겁니다 ㅎㅎㅎ
자 대부분 프로그래밍 언어를 공부하는데에 있어서 기본적인 Hello, World를 출력을 해볼거에요
그 전에 visual studio는 깔으셨나요?
저는 2022버전이 아닌 2019버전을 사용합니다.
다운 받는 방법은.. Google에..ㅎ
아무튼 설치는 건너뛰고 바로 시작하겠습니다!
일단 프로젝트를 만들어야겠죠? 이 정도는 알져?
모르시면 검색...
저는 문법만 복습하려고 하니까 최대한 잘 전달해보겠습니다!!
일단 프로젝트 하나 만들져


자 이름은 아무렇게나 추가해서 소스파일을 만들어봅시다.
다음 제일 기초적인 Hello, World를 출력할게요 일단은 따라 적어보죠
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, World!" << endl;
return 0;
}
자 이렇게 따라 적어보세용
그러면 컴파일해서 실행을 해볼까여?

Hello, World!가 제대로 출력이 된것을 볼 수 있습니다.
자 그러면 문법부터 차근차근 알아볼게여
일단
#include <iostream>
using namespace std;
이 부분이 무엇을 하는 부분이냐?
소스코드를 사용할 때 우리가 사용할 기본 입출력 기능이 필요합니다.
그것을 위해 #include <iostream>를 쓰게되죠
#이라는 것은 전처리기 역할이라고 하는데 이것은 추후에 차근차근 알아보죠
include 이 것은 영어로 접근해보도록 하죠

오호 포함하다군요
~을 포함시키다라는 뜻도 있는데 그럼 뭘 포함하는거죠?
맞습니다.
<iostream>이 부분을 포함시킨다라는 거죠 어디에? 저희가 지금 작성하는 소스코드에 말이죠.
iostream은 이런 뜻을 가지고 있습니다.
Input Output Stream(입출력 스트림)에서 이름을 따왔다고 합니다.
C언어에서는 stdio.h파일과 같은 역할을 하죠.
입출력 스트림이라하면 즉 입력과 출력을 무언가를 가지고 있는 파일이 되겠죠?
자 그러면 대충은 이해가 갔을겁니다.
이 소스코드를 실행하기전에 (전처리기) iostream이라는 파일을 포함한다!
라는 뜻이 된거죠!
좋습니다!
그렇다면 그 다음은?
using namespace std; 라는 부분인데요
영어적으로 접근해봅시다.

그렇대요 제가 영어를 잘 못합니다. 아무튼
네임스페이스를 사용한다고 합니다.
네임스페이스? 이게 무엇을 말하는 걸까요?
말그대로 이름공간인데 이게 무슨 뜻인지 생각해봅시다.
변수 이름이나 함수이름 등 여러가지 이름이 있을거에요. 그 이름과 같이 명칭을 사용하는 공간이라고 생각하시면 되겠습니다.
즉, 이것을 안쓰게되면 코드는 이렇게 되죠.
#include <iostream>
int main()
{
std::cout << "Hello, World!" << std::endl;
return 0;
}
오호 뭔가 좀 달라졌네요?
using namespace std; 를 쓰지 않으니 cout과 endl 앞에 std::가 붙었습니다!
이렇게 쓰는 이유는 아주 간단하게만 비유로 설명하고 넘어갈게요.
자 서울에 살고 이름이 cout인 아이가 있습니다.
그리고 부산에 살고 이름이 cout인 아이가 또 있습니다.
동명이인이죠?
근데 우리는 서울에 사는 cout은 출력을 할 줄 알고 부산에 사는 cout은 그냥 멋쟁이입니다.
그렇다면 우리가 필요한 cout은 서울에 사는 cout이죠?
이렇듯 cout이라는 이름이 나도모르게 또는 다른 사람들의 파일에서 누군가 사용할 수도 있을겁니다.
그렇기에 이름을 붙여주는 겁니다 앞에 std::를 붙여주는 겁니다.
근데 우리는 배우는 목적이기에 using namespace std;를 써주어서 우리는 std라는 이름공간을 사용하겠다!
라고 컴파일러에게 알려주는거죠!
그래서 우리가 cout을 쓸 때 std::라는 곳에서 cout을 사용한다라고 말할 수 있겠습니다!
endl도 똑같은 이유죠!
int main()
{
cout << "Hello, World!" << endl;
return 0;
}
자 그러면 이제
오늘 주제는 이게 핵심인데,
int main( )? 이거는 무엇을 하는 역할이지?
{ 이 중괄호는 무엇을 뜻하고?
자 차근차근 해봅시다.
일단 눈에 먼저 띄는건 cout << "Hello, World!" << endl; 이게 먼저 보이지 않나요?
저는 그랬습니다 하하..
위에부터 차근차근 알아볼게요
int main( ) 이게 무엇을 하는 역할일까요?
자 우리가 이것은 나중에 배울 '함수'에서 나올 텐데 그것을 배울 때 자세히 알아보도록 합시다.
일단은 우리가 소스코드를 작성하는 Main 즉 메인이라고 생각을 하고 보도록 하죠
이 소스코드 메인 다음 '{' 이 중괄호가 나오기 시작했는데
자 이 중괄호의 역할은 매우 큽니다!
{ = 생명선이라고 생각합시다.
즉 코드의 범위죠
그렇다라는 것은 main ( ) { ... } 이렇게 중괄호 안에 있는 내용물이 main의 범위라고 생각하시면 되겠습니다.
좋아요 그렇다면 cout << "Hello, World!" << endl;를 보죠
cout은 출력하는 어떤 함수입니다!
cout이 무슨 뜻이냐면 Console Output의 약자로 "콘솔 출력"을 뜻합니다!
그렇다면 생각해보죠 뭘 출력하는거죠?
Hello, World!를 콘솔에 출력하게 되는거죠!
콘솔이 뭐냐고요?
에이... 이런것까지.. 알려줘야 합니까..
좋습니다 일단은 출력하는 것은 알았습니다! 그럼 endl은 뭐죠?
endl 은 EndLine즉 끝라인이라는거죠
개행이라고 아실까요?
개행역할을 하게됩니다!
'\n' 과 같은 역할을 하죠
자 그러면 출력하는 것은 알았으니까 이제 return 0; 를 알아봅시다.
근데 이것은 솔직히 말하자면 함수 부분에 들어가야 더 정확히 설명히 가능한데 일단은 이렇게만 알아두죠
컴퓨터에게 0을 리턴한다!
라고요.
뭔 뜻이냐고요?
그냥 일단 컴퓨터에게 안전하게 끝마쳤다~라고 생각하면 일단 쉬워요.
자 오늘은 여기까지 알아보았는데요?
쉬웠나요?
이제 어려워질겁니다.
제가 초반에 말씀드렸지만 어느정도 C언어나 다른 언어를 접하신 분들이 보기에 적합할 것이라고 말씀드렸습니다!
근데! 제가 복습하는 겸 쓰는 거니까 틀린거 있으면 말씀해주세요!
자 그러면 다음 장에서는 좀 더 어렵게 느껴질 수도 있습니다!
다음 장에 뵈죠~
C++를 마스터하져
꼭