C언어에서는 똑같은 이름의 함수가 두 개 이상 선언되는 중복선언을 허용하지 않았다
그러나 C++에서는 함수의 이름이 같더라도 매개변수로 받는 선언들이 다르면
함수의 중복선언 즉, 오버로딩을 허용한다
왜냐하면, C++컴파일러는 함수의 이름과 함께 인자들도 확인하기 때문이다.
반대로 C컴파일러는 함수의 이름만 확인했기 때문에 오버로딩이 되지 않았다.
위와같이 매개변수의 자료형이 다를때, 매개변수의 수가 다를때 오버로딩을 허용하지만
딱 하나, 반환형이 다를 때에는 오버로딩을 허용하지 않는다
반환형까지 확인하지 않는다는 것이다. 이름과 인자정보를 통해서만 함수들을 구별하는 것이다.
정리하면, 함수의 이름은 같지만 매개변수의 개수나, 자료형이 다를때 오버로딩을 허용한다는 것이 함수 오버로딩이다.
매개변수의 디폴트 값(default value) (0) | 2020.10.04 |
---|---|
함수 오버로딩의 예시 (0) | 2020.10.04 |
배열 기반의 문자열 입출력 (0) | 2020.10.04 |
C++의 지역변수 선언 (0) | 2020.10.04 |
C++의 덧셈결과 받아서 덧셈연산 출력하는 프로그램 (0) | 2020.10.04 |