반응형
안녕하세요 판타지코딩입니다!
오늘은 C++의 오버로딩에 대해서 공부해 보겠습니다!
1. 오버로딩이란?
오버로딩은 함수의 이름은 같지만, 인자의 개수를 다르게 해서 함수 호출시 구분할 수 있도록 하는 기능입니다. 함수의 이름이 같으면 어떤 함수를 호출할 것인지 구분할 수 없으므로 컴파일 오류가 발생합니다. 그런데 인자를 다르게 하면 함수 호출시 어떤 함수를 의미하는지 구분할 수 있게 됩니다. 오버로딩 예제를 보겠습니다.
int func(int num1)
{
int result = num1;
return result;
}
int func(int num1, int num2)
{
int result = num1 + num2;
return result;
func 함수의 이름은 동일합니다. 첫 번째 func 함수는 int형 변수 num1을 받아 result에 저장하고 return합니다. 두 번째 func는 int형 변수 num1과 num2를 받아 합 한 뒤에 result에 저장하고 return합니다. 이처럼 함수의 이름은 동일하나 인자의 개수를 다르게 해서 함수의 동작을 다르게 합니다.
함수를 호출해 보겠습니다.
func(1);
func(1, 2);
첫 번째 함수는 1개의 인자를 받으므로 1을 반환하는 함수입니다. 두 번째 함수는 2개의 인자를 받으므로 1+2를 계산해서 반환하는 함수입니다. 이렇게 함수의 이름이 같으므로 인자로 구분하는 것이 바로 오버로딩입니다.
오늘은 오버로딩에 대해서 알아보고 예제를 통해 공부해 보았습니다.
감사합니다!
반응형
'C++' 카테고리의 다른 글
C++ 깊은 복사와 복사 생성자 / 디폴트 복사 생성자 (0) | 2023.02.26 |
---|---|
C++ 얕은 복사와 복사 생성자 (0) | 2023.02.25 |
C++ 객체 배열 공부하기 / 여러 개의 객체를 한 번에 생성하기 (0) | 2023.02.22 |
C++ 큐(queue) 공부하기 / First In First Out (0) | 2023.02.21 |
C++ 디폴트 매개 변수 공부하기 (0) | 2023.02.16 |