override와 재정의, overload와 중복

Twitter icon류광, 2003-03-28 15:03

다 아시겠지만 override라는 것은.. 부모로부터 물려받은 것을 다르게 만든다는 개념입니다. 별로 어렵지 않은 개념으로, 객체지향의 상속성에 관련된 것이죠.

반면 overload는... 동일한 모습을 가진 어떤 것이 상황에 따라 다른 방식으로 작동하게 하는 것입니다. 이것은 객체지향의 다형성에 관련된 것이죠. 예를 들어서 + 연산자는.. 모습은 같지만 정수에 쓰일때, 문자열에 쓰일때, 부동소수점에 쓰일 때 모두 다른 방식으로 작동하죠.

저를 비롯해서 많은 사람들이 overload를 중복이라고 번역합니다. 이는 어느 정도 굳어진 것이죠. override는 아직 굳어진 용어가 없는 것 같습니다. 오버라이드, 오버라이딩 등등 발음 그대로(좀 오버를 한다면 오버롸이드..) 쓰는 경우가 더 많은 것 같더군요.

제 번역 역사 중 override가 처음 나온 책은 아마 C++ Howto였던 것 같은데요... 조금 고심을 했습니다. 두 가지 후보가 있었는데요. 하나는 '번복'이구요. 또 하나는 제목에 나온 '재정의'입니다.

번복의 장점은... 중복과 운율(!)이 맞다는 것. override와 overload, 번복과 중복... 짝이 맞죠. 의미상으로도 그리 틀리지 않고요... 부모가 정의한 메서드를 자식이 '번복'한다... 그렇죠? 그러나.. 안그래도 override와 overload를 혼동하는 사람들이 있는데, 한글 번역어까지 비슷하게 만들 필요는 없다는 점과, 또 '번복'이라는 말의 어감이 그리 좋지 않다는 점... 특히 심판들의 자질에 상당히 불만이 많은 프로축구 팬으로서 '번복' 같은 말은 정말 싫거든요...

그래서 재정의를 선택했습니다. 처음엔 어색하더라도... 자주 쓰면 머리 속에서 override와 재정의가 자연스럽게 연결될 것입니다.

-- 2001. 08. 05 15:08:40

태그: 번역

comments powered by Disqus

예전 댓글(읽기 전용)