[c++] C++에서 함수 오버로딩의 개념

C++에서 함수 오버로딩은 같은 이름을 가진 여러 함수를 정의하는 것을 말합니다. 이러한 함수들은 매개변수의 타입, 개수 또는 순서가 다르지만 같은 이름을 가지고 있습니다. 컴파일러는 함수 호출 시 전달된 인수에 따라 적절한 오버로딩된 함수를 선택합니다.

함수 오버로딩의 예시

#include <iostream>

void print(int num) {
    std::cout << "정수: " << num << std::endl;
}

void print(double num) {
    std::cout << "실수: " << num << std::endl;
}

int main() {
    print(5);        // int 타입 함수 호출
    print(3.14);     // double 타입 함수 호출
    return 0;
}

위의 예제에서 print 함수는 두 번 정의되어 있습니다. 첫 번째 함수는 int를 매개변수로 받고, 두 번째 함수는 double을 매개변수로 받습니다.

함수 오버로딩의 장점

함수 오버로딩은 유사한 작업을 수행하면서 다양한 타입을 처리해야 하는 경우에 유용합니다. 코드의 가독성을 향상시키고, 중복된 동작을 모듈화하여 코드 중복을 줄일 수 있습니다.

함수 오버로딩의 주의점

함수 오버로딩은 매개변수의 타입, 개수 또는 순서가 달라야 합니다. 반환 타입만 다른 경우 오버로딩이 되지 않습니다.

참고 문헌: https://www.geeksforgeeks.org/function-overloading-in-c/