override와 재정의, overload와 중복

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

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

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

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

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

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

-- 2001. 08. 05 15:08:40
top
TAG
트랙백 1 : 의견 # + 4

Trackback Address :: http://occamsrazr.net/tt/trackback/8

  1. Tracked from Softcream::Project "Type B" @tistory 2011/07/19 16:28 DELETE

    Subject: Override와 Overload의 차이

    Override와 Overload의 차이에 대해서 깔끔하게 설명한 글이 있어서 여기에 링크를 단다. override와 재정의, overload와 중복(http://occamsrazr.net/tt/8)
comments powered by Disqus

(2013년 11월 10일자로 블로그에도 DISQUS 시스템을 도입했습니다. 기존 의견의 수정, 삭제, 댓글 추가는 여전히 가능합니다.)

  1. 아무개 2003/11/05 01:35 PERMALINKMODIFY/DELETE REPLY

    중복은 duplication을 떠오르게 하는 면이 있는 것 같습니다. (그렇다고 마땅한 대안이 생각나는 것도 아니지만;; )

  2. 류광 2011/08/11 16:14 PERMALINKMODIFY/DELETE REPLY

    (8년의 시간을 뛰어 넘어...)예 그래서 몇 년 전부터는 '중복적재'로 하고 있습니다. duplication과의 혼동도 그렇고, 또 -load를 좀 더 살릴 필요가 있을 것 같다는 생각에서요.

  3. 김윤수 2011/11/05 18:58 PERMALINKMODIFY/DELETE REPLY

    중복적재보다는 중복정의가 낫지 않을까요? 재정의와 쌍이 맞는 것 같은 느낌도 나고


  4. 류광 2011/11/05 22:06 PERMALINKMODIFY/DELETE REPLY

    그렇긴 한데, (아무개님 지적과 같은 맥락에서)ODR 위반을 떠올릴 가능성이 큰 것 같아서요...