오버로딩과 오버라이딩의 차이
이 질문도 내가 면접을 보며 나왔던 문제인데 막연히 알고 있던 내용이라 더 정확히 알고 나중에 다시 공부하기 위해 적어놓는다.
오버로딩과 오버라이딩의 차이에 대해 설명하여 쓰라는 질문이었다.
사실은 플래시와 자바를 쓸 때 인터페이스 구현 때문에 오버라이딩만 계속 써왔고 C++를 할 때는 연산자 오버로딩 외에는 오버로딩에 대해 아는게 없기도 하고 용어가 헷갈려서 정확하게 답변하지 못했었다. 두개를 비교설명하자면 복잡하지만 다음의 두 문장으로 정리할 수 있을 것 같다.
- 오버로딩은 클래스 안에서 파라미터가 다른 여러개의 같은 이름을 가진 함수를 정의하는 것.
- 오버라이딩은 어떤 클래스를 상속 받은 경우, 부모클래스의 함수를 다른 내용으로 재정의 하는 것.
이렇게 짧게 정리할 수 있을 것 같다.
참고한 자료는 http://blog.naver.com/jwlee0208?Redirect=Log&logNo=10136772809 , http://zzing8300.tistory.com/127 에서 볼 수 있다. 이 두 페이지만 봐도 도움이 많이 될 것 같다.