본문 바로가기
2025 C언어 강의

C++ 메인 함수를 공부하자 (int main, void main, return)

by 여름코딩 2025. 1. 5.
반응형

오늘은 C++ 프로그래밍의 기본인 메인 함수에 대해서 공부하자.

학교 수업에서든 개인 학습에서든 예제 코드를 보면 int main 또는 void main이라는 코드를 꼭 볼 것이다.

코드를 작성할 때 가장 기본이 되는 코드이기 때문에 메인 함수는 어떤 코드이든 작성하는 것이다.

오늘은 메인 함수가 어떤 역할을 하는지 알아보고 메인 함수 코드에 있는 궁금했던 부분들을 공부해 보자.



메인 함수란?

메인 함수는 C언어나 C++ 코드를 작성하기 위해 가장 기본이 되는 함수이다.

int main이나 void main이라고 작성되어 있는 경우가 많은데, 정확한 의미를 알지 않더라도 우선 코드 구현은 가능하다.

하지만 정확한 의미를 알고 지나가면 다음에 함수를 작성할 때 도움이 되기 떄문에 오늘 메인 함수에 대해서 알고 넘어가도록 하자.

메인 함수가 무엇인지 학습하는 중이라면 사전적인 설명으로는 정확히 어떤 것인지 감이 잡히지 않을 것이다.

우선 예제 코드를 보면서 어떻게 활용하는지 먼저 알아보면서 이해하도록 하자.

#include <iostream>

int main()
{
    ...
}

 

메인 함수를 작성한 예제 코드이다.

가장 첫 줄에는 <iostream>이라는 것을 #include 한 것이고, 세 번째 줄부터 메인 함수를 작성했다.

<iostream>은 메인 함수 안에 작성 할 여러 가지 코드를 사용할 수 있도록 해주는 '헤더 파일'이다.

이것은 다음 번에 자세히 공부하도록 하자.

메인 함수는 {}를 활용해 코드를 입력할 수 있는 공간을 마련했음을 알 수 있다.

위의 코드에서는 ...을 입력해 놓았지만, 그 자리에 코드를 입력해서 실행할 수 있도록 하는 것이다.

간단한 코드를 작성해서 실행해보자.

#include <iostream>

int main()
{
    std::cout << "안녕하세요, 반가워요!" << std::endl;
    
    return 0;
}

 

메인 함수 안에 간단한 인사말을 출력하는 코드를 작성해 보았다.

"안녕하세요, 반가워요!"라는 인사말을 출력하기 위해 'std::cout << '과 '<< std::endl; '에 입력하면 된다는 것을 눈치 챘을 것이다.

여기에서 'std::cout'은 데이터 출력을 위한 함수이다.

<<를 입력하고 그 뒤에 큰 따옴표 안에 출력할 데이터를 입력하면 그대로 출력된다.

그리고 'std::endl'은 엔터키를 누른 것 같은 효과로 한 줄 띄워주는 기능을 한다.

이처럼 코드를 작성하고 실행시키면 아래와 같은 결과가 출력된다.

안녕하세요, 반가워요!

 

반환형

메인 함수의 앞을 보면 'int'라는 코드가 있다.

int main()

 

보통은 'int' 또는 'void'가 써 있는데, 이것을 반환형이라고 한다.

함수는 필요한 코드를 실행한 후 종료하게 되는데, 종료 시점에는 'return'을 한다.

함수 코드를 보면 특정 시점에 'return'이라는 코드가 작성되어 있는 것을 알 수 있는데, 앞의 코드를 실행하고 'return'이라는 코드를 실행하게 되면 함수가 종료되는 것이다.

위의 메인 함수는 return 0;이라는 코드가 작성되어 있다.

이것을 작성하지 않아도 종료는 되지만, 다음에 함수를 학습할 때 이해도를 향상하기 위해 반환형에 대한 이야기를 넣었다.

반환형에 대해 자세히 알아보기 위해 '데이터 타입'에 대해서 짚고 넘어가자.

int, char

 

숫자든 문자든 데이터에는 '타입'이 있다.

크게 숫자형, 문자형으로 나뉘어지고, 숫자형 중에서도 정수형과 실수형 등으로 데이터 타윕이 나뉜다.

위의 int는 '정수형' 데이터 타입을 의미하고, char는 '문자형' 데이터 타입을 의미한다.

그러므로 메인 함수의 앞에 있는 int는 정수를 의미하고, 위에서 작성한 메인 함수의 반환형이 정수형임을 의미한다.

그렇다면 무엇을 반환하는 것일까?

int main()
{
    ...
    
    return 0;
}

 

메인 함수의 마지막에 return 0이 작성되어 있다.

위에서 이야기 했는데, 함수는 내부에 작성된 코드를 실행 후 return을 만나면 종료된다고 했다.

이 때 return 코드는 데이터를 반환하는 기능을 한다.

위의 함수는 반환형이 int이므로 정수를 반환한다.

그래서 return의 뒤에 정수 0이 작성되어 있는 것이다.

만약 void main() 함수이면 어떨까?

반환하는 데이터가 없다는 의미이다.

이처럼 함수는 반환형이 있고, 반환항연 함수 종료 시 반환 할 데이터의 타입을 의미한다.


오늘은 메인 함수에 대해서 공부했다.

메인 함수는 코드를 작성하고 실행하기 위한 것이고, 함수에는 반환형이 있다.

함수는 return 코드를 실행하게 되면 종료되고, 이 때 반환형과 일치하는 데이터를 반환한다.

메인 함수에 대한 내용을 이해하면서 코드를 작성하는 연습을 해보길 권한다.

반응형