티스토리 뷰
함수란?
함수(function)란 하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 코드의 집합으로 정의할 수 있다.
C++ 프로그램에서 함수는 특정 작업을 캡슐화하는 데 유용하게 사용된다.
함수를 사용하는 이유
함수를 사용하는 가장 큰 이유는 바로 반복적인 프로그래밍을 피할 수 있기 때문이다.
프로그램에서 특정 작업을 여러 번 반복해야 할 때는 해당 작업을 수행하는 함수를 작성하면 된다.
그리고서 프로그램이 필요할 때마다 작성한 함수를 호출하면 해당 작업을 반복해서 수행할 수 있다.
또한, 프로그램을 여러 개의 함수로 나누어 작성하면, 모듈화로 인해 전체적인 코드의 가독성이 좋아진다.
그리고 프로그램에 문제가 발생하거나 기능의 변경이 필요할 때에도 손쉽게 유지보수를 할 수 있다.
함수의 크기에 대해서 정확히 명시된 규칙은 없으나, 대략 하나의 기능을 하나의 함수로 만드는 것이 가장 좋다.
함수의 선언
C++에서 함수를 선언하는 방법은 다음 그림과 같다.
1. 반환 타입(return type) : 함수가 모든 작업을 마치고 반환하는 데이터의 타입을 명시
2. 함수 이름 : 함수를 호출하기 위한 이름을 명시
3. 매개변수 목록(parameters) : 함수 호출 시에 전달되는 인수의 값을 저장할 변수들을 명시
4. 함수 몸체 : 함수의 고유 기능을 수행하는 명령문의 집합
함수 호출 시에는 여러 개의 인수를 전달할 수 있지만, 함수가 반환할 수 있는 값은 1개를 넘지 못한다.
또한, 함수의 특성에 따라 인수나 반환값이 하나도 없는 함수도 존재할 수 있다.
다음 예제는 인수로 전달받은 두 수 중에서 더 작은 수를 반환하는 SmallNum() 함수를 정의하여 사용하는 법이다.
-----------------------------------------------------------
#include <iostream>
using namespace std;
int SmallNum(int num1, int num2)
{
if (num1 <= num2)
{
return num1;
}
else
{
return num2;
}
}
int main(void)
{
int result;
result = SmallNum(4, 6);
cout << " 두 수 중 더 작은 수는 " << result << "입니다." << endl;
result = SmallNum(8, 6);
cout << " 두 수 중 더 작은 수는 " << result << "입니다." << endl;
result = SmallNum(2, 8);
cout << " 두 수 중 더 작은 수는 " << result << "입니다." << endl;
return 0;
}
-----------------------------------------------------------
----------------------- [실행결과]------------------------
두 수 중 더 작은 수는 4입니다.
두 수 중 더 작은 수는 6입니다.
두 수 중 더 작은 수는 2입니다.
-----------------------------------------------------------
아래 예제는 인수로 전달받은 두 수를 더한 숫자를 출력하는 함수이다.
sum이라는 함수는 인수로 전달받은 정수형 변수 a와 b를 더한 값을 return한다.
int sumvalue=sum(2,3)은
main에서 해당 함수를 호출하여 main함수의 변수인 sumvalue에 담는 부분이다.
즉, 2와 3을 더한 함수값 5가 sumvalue에 할당되었을 것이다.
해당 sumvalue값을 출력하면 5가 잘 출력되는 것을 알 수 있다.
https://www.mycompiler.io/ko/new/cpp
위 사이트에서는 별도의 C++환경 설치 없이도 C++ 코드를 작성하고 실행시켜 볼 수 있습니다.
위 C++ 코드컴파일러 웹사이트에서 직접 C++의 함수 개념에 대해 아래와같이 연습해볼 수 있습니다.
'[문법] C++' 카테고리의 다른 글
[기초] 4강. 반복문 (0) | 2024.09.18 |
---|---|
[기초] 3강. 조건문 (0) | 2024.09.18 |
[기초] 2강. 변수 (0) | 2024.09.18 |
[기초] 1강. C++ 실습 환경 구축 (0) | 2024.09.18 |