IT/C++

함수 오버로딩(Function Overloading)

리드론 2019. 1. 7. 02:53

함수 오버로딩(Function Overloading)이란


함수호출 시 전달되는 인자를 통해서 호출하고자 하는 함수를 구분하는 형태의 문법적 요소이다.


int MyFunc(char c) { . . . }

int MyFunc(int n) { . . . }



int MyFunc(int n) { . . . }

int MyFunc(int n1, int n2) { . . . }


함수 오버로딩(Function Overloading)을 통해 다음과 같은 형태의 문법 구조가 가능하다.



결론적으로 함수 오버로딩이 가능한 조건으로는


"매개변수의 자료형 또는 개수가 다르다."


를 의미한다.



하지만 반환형이 다른 다음과 같은 형태는 불가하다.


int MyFunc(int n) { . . . }

void MyFunc(int n) { . . . }


C++에서의 함수 오버로딩은 반환형을 기준으로는 구분하지 않기 때문이다.