함수를 사용하며 같은 이름인 경우가 있다.
int Func(int num)
{
num++;
return num;
}
int Func(int a, int b)
{
return a+b;
}
int main(void)
{
Func(20);
Func(30,40);
return 0;
}
위의 함수 이름은 동일하지만 함수 호출 시 전달되는 인자를 통해서 호출하고자 하는 함수의 구분이 가능하기 때문에 매개변수의 선언 현태가 다르다면, 동일한 이름의 함수 정의를 할 수 있다.
그렇기 때문에
'Func(20)'은 매개변수가 하나인 'int Func(int num)' 함수를 사용하고
'Func(30,40)'은 매개변수가 두 개인 'int Func(int a, int b) '함수를 사용한다.
C++은 함수의 이름과 매개변수의 선언을 보고 함수를 찾지만
C는 함수의 이름만을 가지고 찾기에 함수 오버 로딩을 사용할 수 없다.