KPlay의 코딩 그리고 잡동사니

C언어에서는 똑같은 이름의 함수가 두 개 이상 선언되는 중복선언을 허용하지 않았다

그러나 C++에서는 함수의 이름이 같더라도 매개변수로 받는 선언들이 다르면

함수의 중복선언 즉, 오버로딩을 허용한다

왜냐하면, C++컴파일러는 함수의 이름과 함께 인자들도 확인하기 때문이다.

반대로 C컴파일러는 함수의 이름만 확인했기 때문에 오버로딩이 되지 않았다.

위와같이 매개변수의 자료형이 다를때, 매개변수의 수가 다를때 오버로딩을 허용하지만

딱 하나, 반환형이 다를 때에는 오버로딩을 허용하지 않는다

반환형까지 확인하지 않는다는 것이다. 이름과 인자정보를 통해서만 함수들을 구별하는 것이다.

정리하면, 함수의 이름은 같지만 매개변수의 개수나, 자료형이 다를때 오버로딩을 허용한다는 것이 함수 오버로딩이다.

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band