[C++] 함수 오버로딩 (Function Overloading)
Language/C++기존 C 컴파일러에서는 함수의 이름으로만 함수를 찾기 때문에 동일한 이름의 함수 정의는 불가능 했다.
하지만 C++ 컴파일러에서는 [함수의 이름 + 매개 변수의 정보]로 호출하고자 하는 함수를 찾기 때문에 함수의 이름이 같아도 매개변수의 타입이나 개수가 다르다면 함수명 중복을 허용한다.
이를 함수 오버로딩(Function Overloading) 이라 한다.
즉 함수 오버로딩이란 같은 이름의 함수를 매개변수의 타입이나 개수를 다르게 하여 여러개 정의하는 것이다.
다음은 함수 오버로딩의 예이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | void func() { cout << " function(void) " << endl; } void func(int a, int b) { cout << " function(int a, int b) " << endl; } void func(char c) { cout << " function(char c) " << endl; } |
위와 같이 같은 이름의 함수를 여러개 정의 할 수 있다.
주의할것은 함수의 이름과 매개 변수의 정보가 같고 리턴타입만 다른 함수는 오버로딩되지 않는다.
'Language > C++' 카테고리의 다른 글
[C++] Reference (0) | 2015.11.29 |
---|---|
[C++] namespace (0) | 2015.11.28 |
[C++] 인라인 함수 (Inline Function) (0) | 2015.11.28 |
[C++] 디폴트 매개 변수 (Default Parameter) (0) | 2015.11.28 |
[C++] for문 두줄로 구구단 출력하기 (0) | 2015.11.09 |