[c++] 함수 오버로딩과 콴트백 함수
함수 오버로딩(function overloading)과 콜백 함수(callback function)는 C++ 프로그래밍에서 중요한 개념입니다. 이 두 가지 기술은 코드의 유연성을 높이고, 프로그램의 유지보수를 용이하게 만들어줍니다.
함수 오버로딩
함수 오버로딩은 한 클래스나 네임스페이스 안에서 동일한 이름을 가진 여러 함수를 정의하는 것을 말합니다. 함수 오버로딩을 통해 매개변수의 타입, 개수, 순서 등을 다르게 함으로써, 동일한 이름의 함수를 다양한 방식으로 호출할 수 있습니다.
아래는 함수 오버로딩의 간단한 예시입니다.
#include <iostream>
using namespace std;
class OverloadExample {
public:
void print(int num) {
cout << "정수: " << num << endl;
}
void print(double num) {
cout << "실수: " << num << endl;
}
};
int main() {
OverloadExample obj;
obj.print(5);
obj.print(4.5);
return 0;
}
위 예시에서 print 함수는 동일한 이름으로 int와 double 타입의 매개변수를 받아 출력합니다.
콜백 함수
콜백 함수는 다른 함수의 매개변수로 전달되어, 그 함수 내에서 호출되는 함수를 가리킵니다. 이는 이벤트 처리나 비동기 작업 등에서 유용하게 활용됩니다.
아래는 간단한 콜백 함수의 예시입니다.
#include <iostream>
using namespace std;
void performOperation(int x, int y, int (*callback)(int, int)) {
int result = callback(x, y);
cout << "결과: " << result << endl;
}
int add(int a, int b) {
return a + b;
}
int main() {
performOperation(5, 3, add);
return 0;
}
위 예시에서 performOperation 함수는 add 함수를 콜백으로 받아 두 정수를 더한 결과를 출력합니다.
함수 오버로딩과 콜백 함수는 C++ 프로그래밍에서 매우 유용한 개념이며, 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.
참고 문헌:
- https://www.geeksforgeeks.org/function-overloading-and-function-overriding-in-c/
- https://www.geeksforgeeks.org/callbacks-in-c/