그냥 게임개발자

해보자 C++ 스터디01 본문

C++스터디

해보자 C++ 스터디01

sudoju 2022. 1. 26. 04:15

여러분 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++를 마스터하져