반응형
오버로딩이란?
메서드의 이름은 같지만, 매개변수를 다르게 함으로써 메서드를 여러개 만드는 것 (member function overloading)
함수의 이름은 같지만, 매개변수를 다르게 함으로써 함수를 여러개 만드는 것 (function overloading)
c에서는 오버로딩이 존재하지 않아, 같은 기능을 하는 함수여서 매개변수에 따라 다른 이름으로 함수를 만들어야 했다.
int sum_int (int a, int b) {
return a + b;
}
double sum_double (double a, double b) {
return a + b;
}
int main() {
std::cout << sum_int(5 + 6) << std::endl;
std::cout << sum_double(1.3 + 2.1) << std::endl;
}
이런 불편함을 오버로딩을 통해 아래와 같이 수정할 수 있다!
int sum (int a, int b) {
return a + b;
}
double sum (double a, double b) {
return a + b;
}
int main() {
std::cout << sum(5 + 6) << std::endl;
std::cout << sum(1.3 + 2.1) << std::endl;
}
728x90
'개발 언어 > cpp' 카테고리의 다른 글
cpp 증감 연산자 오버로딩 (전위 연산자, 후위 연산자) (0) | 2021.12.30 |
---|---|
CPP 클래스 상속(Inheritance) (0) | 2021.12.22 |
cpp 연산자 오버로딩(Operator Overloading) (0) | 2021.12.21 |
cpp 복사생성자 (copy constructor) (0) | 2021.12.21 |
cpp 얕은 복사와 깊은 복사 (0) | 2021.12.21 |
댓글