C++에서 동일한 이름을 가진 여러 함수를 정의하되, 매개변수의 자료형이나 개수를 다르게 해서 사용할 수 있는 오버로딩이란 기능이 있다.
함수 오버로딩은 같은 이름의 함수를 여러 개 만들되, 각 함수의 매개변수의 자료형, 개수, 순서를 서로 다르게 두는 기능이다. 이를 통해 같은 기능을 하는 함수가 여러 자료형의 인수를 받아 처리할 수 있게 된다.
#include <iostream>
void display(int var)
{
std::cout << "Integer number: " << var;
}
void display(double var)
{
std::cout << "Double number: " << var;
}
void display(char* var)
{
std::cout << "String: " << var;
}
int main()
{
display(10);
display(15.5);
display("대충 문자열 출력 예시");
return 0;
}
오버로딩된 함수들은 매개변수의 자료형, 개수, 순서 중 하나 이상 달라야 함. 반환 자료형만 다른 경우에는 오버로딩으로 간주되지 않음.
컴파일러가 호출할 함수 버전을 결정할 수 없는 모호한 상황이 발생하면 컴파일 에러가 발생할 수 있음.
. . .