본문 바로가기

Programming/C / C++

[C++의 특징 - 1] 함수 오버로딩과 디폴트 매개변수 (Funtion Overloading & Default Parameter)

1. 함수 오버로딩   
 : 함수 오버로딩(Function Overloading)이란 간단히 말하면, 동일한 이름의 함수를 중복해서 정의하는 것을 말합니다. (단, 매개변수의 정보가 달라야 한다는 가정하에 말입니다. 갯수나 타입이이 일치하지 않는 한도 내에서 말이죠)

C언어에서는 함수이름의 중복을 허용하지 않았는데, 그 이유는 C언어에서 함수를 호출할 때, 함수의 이름정보만을 가지고 호출할 함수를 찾기 때문입니다. 하지만, C++ 에서는 호출할 함수를 찾는데 있어서, 이름뿐만 아니라 매개변수의 정보도 포함하고 있기 때문에 이런 기능이 가능한 것입니다. 

아래와 같은 형태의 함수들은 C에서는 불가능했지만, C++에서는 이것이 가능하다는 얘기 입니다.


2. 디폴트 매개변수  
: C++의 함수가 가진 또 하나의 특징은 바로 디폴트 매개변수(Default Parameter) 라는 것인데, 디폴트 매개변수란 전달되지 않는 인자를 대신하기 위한 기본값이 설정되어 있는 변수입니다. 아래와 같은 함수에서 (  ) 이 곳이 디폴트 매개변수를 선언할수 있는 부분입니다.

 - 사용법 : 만약 아래같이 분리 해서 사용할 경우 함수 정의 선언부에 한번만 설정 할 수 있습니다.