오버로드와 오버라이드 둘 다 같은이름을 하지만 다른 역할을 하는 기능
오버로드
자료형과 매개변수의 자료형과 갯수에 따라 자동으로 맞춤형으로 호출 되도록
ex)
int overload(){
return 2;
}
int overload(int a){
return 3;
}
char overload(int a){
return 4;
}
main(){
int a, b;
char c;
a = overload();
b = overload(1);
c = overload(2);
cout << a << b << c;
}
위와 같이 하게 되면, 2,3,4 가 차례대로 출력 되게 된다.
오버라이드
클래스에서 상속을 통해, 부모의 함수를 자식이 재정의 하는대에 사용 된다.
이때 부모의 함수의 원형과 같아야 한다.
물론 부모에서 오버로드를 사용하여 짤 경우, 자식에서도 오버로드된 함수들을 오버라이딩 할 수 있다.