함수는 입력 값을 받아 연산을 수행한 후, 결과를 반환하는 코드 블록입니다.
반환타입 함수이름([매개변수])
{
함수 내용
return 반환값;
}
int, void, double, char, 등)PrintHelloWorld)int num)return 반환값;: 결과를 반환 (void일 경우 생략 가능)PrintHelloWorld() 함수 (입력 X, 출력 X)#include <iostream>
using namespace std;
// Hello World를 콘솔에 출력하는 함수
void PrintHelloWorld()
{
cout << "Hello World!" << endl;
}
int main()
{
PrintHelloWorld(); // 함수 호출
return 0;
}
#include <iostream> → 입출력을 위한 표준 라이브러리 포함using namespace std; → std::cout 대신 cout 사용 가능void PrintHelloWorld()void → 반환값이 없음cout << "Hello World!" << endl; → 콘솔에 출력PrintHelloWorld(); → main() 함수에서 호출✅ 실행 결과
Hello World!
PrintNumber(int num) 함수 (입력 O, 출력 X)// 정수를 입력받아 콘솔에 출력하는 함수
void PrintNumber(int num)
{
cout << "넘겨주신 숫자는 " << num << "입니다." << endl;
}
int main()
{
PrintNumber(3); // 함수 호출
return 0;
}
int num을 받아 콘솔에 출력하는 함수PrintNumber(3); → num = 3으로 전달됨✅ 실행 결과
넘겨주신 숫자는 3입니다.
MultiplyBy2(int num) 함수 (입력 O, 출력 O)// 입력값을 2배로 곱한 값을 반환하는 함수
int MultiplyBy2(int num)
{
return num * 2;
}
int main()
{
int result = MultiplyBy2(3);
cout << "3의 2배는 " << result << "입니다." << endl;
return 0;
}
int MultiplyBy2(int num) → num * 2 결과를 반환MultiplyBy2(3) → 3 * 2 = 6을 반환cout을 이용하여 결과 출력✅ 실행 결과
3의 2배는 6입니다.
MultiplyBy(int a, int b) 함수 (입력 O, 출력 O)// 두 숫자를 곱한 결과를 반환하는 함수
int MultiplyBy(int a, int b)
{
return a * b;
}
int main()
{
int result = MultiplyBy(5, 3);
cout << "5와 3을 곱하면 " << result << "입니다." << endl;
return 0;
}
MultiplyBy(int a, int b) → 두 수의 곱을 반환MultiplyBy(5, 3) → 5 * 3 = 15cout을 이용해 출력✅ 실행 결과
5와 3을 곱하면 15입니다.
✅ 코드 재사용 가능 → 같은 기능을 여러 번 사용할 수 있음
✅ 코드 가독성 증가 → 프로그램을 더 구조적으로 만들 수 있음
✅ 유지보수 용이 → 특정 기능을 수정할 때, 함수만 변경하면 됨
main() 함수와 함수 호출 흐름#include <iostream>
using namespace std;
// Hello World를 콘솔에 출력하는 함수
void PrintHelloWorld()
{
cout << "Hello World!" << endl;
}
// 정수를 입력받아 콘솔에 출력하는 함수
void PrintNumber(int num)
{
cout << "넘겨주신 숫자는 " << num << "입니다." << endl;
}
// 입력값을 2배로 곱한 값을 반환하는 함수
int MultiplyBy2(int num)
{
return num * 2;
}
// 두 숫자를 곱한 결과를 반환하는 함수
int MultiplyBy(int a, int b)
{
return a * b;
}
int main()
{
PrintHelloWorld(); // "Hello World!" 출력
PrintNumber(3); // "넘겨주신 숫자는 3입니다." 출력
int resultA = MultiplyBy2(3);
PrintNumber(resultA); // "넘겨주신 숫자는 6입니다." 출력
int resultB = MultiplyBy(5, 3);
PrintNumber(resultB); // "넘겨주신 숫자는 15입니다." 출력
return 0;
}
PrintHelloWorld(); → "Hello World!" 출력PrintNumber(3); → "넘겨주신 숫자는 3입니다." 출력MultiplyBy2(3); → 6 반환 → "넘겨주신 숫자는 6입니다." 출력MultiplyBy(5, 3); → 15 반환 → "넘겨주신 숫자는 15입니다." 출력✅ 실행 결과
Hello World!
넘겨주신 숫자는 3입니다.
넘겨주신 숫자는 6입니다.
넘겨주신 숫자는 15입니다.
int MultiplyBy(int a, int b)
{
return a * b;
}
int main()
{
int x = 5, y = 3;
int result = MultiplyBy(x, y);
cout << "결과: " << result << endl;
return 0;
}
MultiplyBy(x, y);에서 x = 5, y = 3이 함수로 전달됨a, b는 별도의 변수이며 x, y와 직접적인 관계가 없음MultiplyBy(5, 3);이 실행되고, 결과 15가 반환됨✅ 실행 결과
결과: 15