티스토리 뷰

C++

5강. 함수

으나니머스 2024. 9. 18. 19:03
반응형

함수란?

함수(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가 잘 출력되는 것을 알 수 있다.

반응형

'C++' 카테고리의 다른 글

4강. 반복문  (0) 2024.09.18
3강. 조건문  (0) 2024.09.18
2강. 변수  (0) 2024.09.18
1강. C++ 실습 환경 구축  (0) 2024.09.18