[c++] 함수 오버로딩과 참조 인자의 활용

이 글에서는 C++에서 함수 오버로딩과 참조 인자의 활용에 대해 알아보겠습니다.

함수 오버로딩

함수 오버로딩은 같은 이름의 함수를 여러 개 정의하는 것을 의미합니다. 이때 함수의 인자의 개수나 타입이 달라야 합니다. 예를 들어, 두 개의 add 함수를 정의할 수 있습니다.

int add(int a, int b) {
    return a + b;
}

float add(float a, float b) {
    return a + b;
}

이렇게 하면 정수형과 실수형을 모두 처리할 수 있는 다형성을 지원하게 됩니다.

참조 인자

참조 인자는 함수에 참조를 전달할 때 사용됩니다. 함수 호출 시 복사본을 만들지 않고 직접 참조를 전달하기 때문에 효율적으로 메모리를 사용할 수 있습니다.

참조로 전달된 인자를 수정할 수 있기 때문에 함수 오버로딩과 함께 사용하면 유용합니다.

void increaseByOne(int& num) {
    num++;
}

함수 오버로딩과 참조 인자의 활용

함수 오버로딩과 참조 인자를 함께 활용하면 효율적으로 코드를 작성할 수 있습니다.

예를 들어, print 함수를 정수형과 실수형을 모두 처리할 수 있도록 오버로딩하고, 참조 인자를 사용하여 값을 변경할 수 있도록 구현할 수 있습니다.

#include <iostream>
using namespace std;

void print(int num) {
    cout << num << endl;
}

void print(float num) {
    cout << num << endl;
}

void increaseByOne(int& num) {
    num++;
}

int main() {
    int a = 10;
    float b = 3.14;
    
    print(a); // 10 출력
    print(b); // 3.14 출력
    
    increaseByOne(a);
    print(a); // 11 출력
    
    return 0;
}

이렇게 함수 오버로딩과 참조 인자를 활용하여 더 유연하고 효율적으로 코드를 작성할 수 있습니다.

참조