[c] 함수 오버로딩

다른 말로, 함수 시그니처(parameter list)가 서로 달라야 합니다. C언어와 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(10);
    print(3.14);
    return 0;
}

위 코드는 int형과 double형 매개변수를 갖는 print 함수를 오버로딩하여 사용한 예시입니다.

함수 오버로딩을 사용하면서 주의할 점은 매개변수의 타입이나 개수가 너무 유사하다면 혼란을 줄 수 있으므로 신중하게 선택해야 합니다.