[c] 함수 오버로딩

함수 오버로딩은 한 클래스 내에서 동일한 이름의 함수를 정의하는 기술이다. 파라미터의 개수나 타입이 다를 때 서로 다른 동작을 수행하도록 한다. 함수 이름이 동일하지만 파라미터의 개수나 타입에 따라 컴파일러는 각각의 함수를 식별하고 호출한다.

예제

#include <iostream>
using namespace std;

class Overload {
public:
    void print(int i) {
        cout << "정수: " << i << endl;
    }

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

int main() {
    Overload obj;
    obj.print(5);     // print(int) 호출
    obj.print(5.5);   // print(double) 호출
    return 0;
}

장점

제한사항

결론

함수 오버로딩은 다형성(overloading)을 구현하는 중요한 개념으로, 코드의 가독성과 재사용성을 높이는데 도움을 준다. 그러나 실수를 줄일 수 있는 대신 필요에 따라 주의해서 사용해야 한다.

참고: cppreference.com