개발 언어/cpp

cpp 오버로딩(Overloading)

eeeun:) 2021. 12. 21. 20:27
반응형

오버로딩이란?

메서드의 이름은 같지만, 매개변수를 다르게 함으로써 메서드를 여러개 만드는 것 (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