상태이상 : 호기심 중독

이것저것 알아두면 언젠간 도움이 된다.

코딩/C++

함수의 오버로딩 [c++]

IT코코아 2018. 3. 5. 09:00

c 언어로 코딩을 하다보면 함수를 만들 때, 하는 일이 비슷한데 함수 이름이 중복이 되지 않으니 함수이름 뒤에 2붙이고 그런 기억이 꽤나 있네요 ㅋㅋ..

C++에서는 이런 경우를 바로 해결 할 수 있습니다. 바로 오버로딩 기능을 통해서 말이죠!~
바로 알아봅시다.

함수의 오버로딩이란 함수끼리의 이름이 같아도 구분해서 사용이 가능하도록 하는 기능입니다.
여기서 무엇을 가지고 구분을 하느냐 : 함수의 매개변수의 개수와 자료형을 가지고 구분하기 떄문에 이름이 같아도 구분되어 호출이 가능한 것입니다.

간단한 예제를 통해 확인해 봅시다.

#include <iostream>
using namespace std;
int add(int a, int b) {
	return a + b;
}
double add(double a, double b) {
	return a + b;
}
int main() {
	cout << add(1,2) << endl;
	cout << add(1.4, 2.0) << endl;
}

두 함수의 기능은 더하기입니다. 차이는 정수형끼리 더하느냐 더블형 끼리 더하느냐 차이죠.
하지만 이름은 같습니다! 이젠 add2라고 안 적어도되요 ㅠ..

정상적으로 실행되는 모습입니다. 함수의 오버로딩 많이 사용할 것 같네요.


정리.

함수의 오버로딩 : 같은 이름의 함수를 매개변수의 자료형과 개수의 차이로 구분해 사용하는 기능.

주의점은 매개변수의 차이만으로 구분된다는 것. 함수의 반환 타입은 함수를 구분하는 요소가 아님.
함수는 이름과 매개변수 두개를 가지고 구분하는 거라는걸 잊지말자.

반응형

'코딩 > C++' 카테고리의 다른 글

디폴트(default) 매개변수 [c++]  (0) 2018.03.06
namespace? [c++]  (0) 2018.03.04
입출력을 해보자! [c++]  (0) 2018.03.03