함수 오버로딩(Function Overloading)

함수 오버로딩(Function Overloading)

main

함수 오버로딩(Function Overloading)

  • C언어에서는 함수의 이름으로 검색하기 때문에 같은 함수명이 있으면 안된다.
  • C++에서는 함수이름과 매개 변수의 정보를 같이 확인하기 때문에 함수의 이름이 같아도 함수 사용 시 매개 변수에 따라 자동 매핑 된다.
C C++
함수이름 함수이름+매개변수
  • C++에서 함수 예제
int function(char n){...}
int function(int n){...}
int function(int n1, int n2){...}
  • C++에서 함수 오버로딩 조건은 함수의 이름은 같지만 매개변수의 타입이나 개수가 달라야 한다

  • 함수 오버로딩 예외 상황

int function(void){...}
void function(void){...}

int main()
{
    function();
    return 0;
}
  • 위 예제에서 function의 return type이 int와 void로 두 가지 이지만 호출할 때 return을 받는 변수 type이 없으므로 컴파일러는 int return type인지 void return type인지 알 수 없어 에러를 발생 시킨다.

도움이 되셨다면 더 좋은 정보 공유를 위해 광고 클릭 부탁 드립니다 :)

댓글 쓰기

0 댓글