C++/General
오버로딩과 오버라이딩
엘키
2008. 1. 22. 09:01
오버로딩(Overloading)에는 연산자 오버로딩, 메소드 오버로딩이 있는데, 이 중 메소드 오버 로딩을 말해보겠다.
메소드 오버로딩이란, 같은 이름의 메소드지만 파라미터가 다르면 다른 함수로 처리하여, 중복 정의를 허용하겠다는 것이다.
오버라이딩(Overriding)이란, 부모 클래스에 이미 존재하는 함수를 덮어 쓴단 의미다. 오버라이드 하게 되면 자식 클래스에서는 부모 클래스의 Print 함수의 존재를 잊어 버리고, 자식 클래스의 Print 함수만 인식하게 된다.
메소드 오버로딩이란, 같은 이름의 메소드지만 파라미터가 다르면 다른 함수로 처리하여, 중복 정의를 허용하겠다는 것이다.
class CTest { public: void Print() { printf("CParent\n"); } void Print(char *str) { printf(str); } void Print(int no) { printf("%d\n", no); } };
오버라이딩(Overriding)이란, 부모 클래스에 이미 존재하는 함수를 덮어 쓴단 의미다. 오버라이드 하게 되면 자식 클래스에서는 부모 클래스의 Print 함수의 존재를 잊어 버리고, 자식 클래스의 Print 함수만 인식하게 된다.
class CParent { public: void Print() { printf("CParent\n"); } }; class CChild : public CParent { public: void Print() { printf("CChild\n"); } };