1. 함수 오버로딩 |
: 함수 오버로딩(Function Overloading)이란 간단히 말하면, 동일한 이름의 함수를 중복해서 정의하는 것을 말합니다. (단, 매개변수의 정보가 달라야 한다는 가정하에 말입니다. 갯수나 타입이이 일치하지 않는 한도 내에서 말이죠)
C언어에서는 함수이름의 중복을 허용하지 않았는데, 그 이유는 C언어에서 함수를 호출할 때, 함수의 이름정보만을 가지고 호출할 함수를 찾기 때문입니다. 하지만, C++ 에서는 호출할 함수를 찾는데 있어서, 이름뿐만 아니라 매개변수의 정보도 포함하고 있기 때문에 이런 기능이 가능한 것입니다.
아래와 같은 형태의 함수들은 C에서는 불가능했지만, C++에서는 이것이 가능하다는 얘기 입니다.
2. 디폴트 매개변수 |
: C++의 함수가 가진 또 하나의 특징은 바로 디폴트 매개변수(Default Parameter) 라는 것인데, 디폴트 매개변수란 전달되지 않는 인자를 대신하기 위한 기본값이 설정되어 있는 변수입니다. 아래와 같은 함수에서 ( ) 이 곳이 디폴트 매개변수를 선언할수 있는 부분입니다.
- 사용법 : 만약 아래같이 분리 해서 사용할 경우 함수 정의 선언부에 한번만 설정 할 수 있습니다.
'Programming > C / C++' 카테고리의 다른 글
[C/C++] Call by Value & Call By Reference (값에 의한 호출, 참조에 의한 호출) (0) | 2010.09.08 |
---|---|
[C++의 특징 - 3] 변수(Variable)와 레퍼런스(Reference) (0) | 2010.09.08 |
[C/C++] 데이터, 스택(Stack), 힙(Heap) 영역 (0) | 2010.09.08 |
[C/C++] 콘스트(const)란? (0) | 2010.09.08 |
[C++의 특징 - 2] 인라인 함수(Inline Function) 와 네임스페이스(Namespace) (0) | 2010.09.08 |