'객체 지향적'은 잘못된 번역인가 두 번째

Twitter icon류광, 2004-04-17 21:04

객체 지향이라는 용어에 대한 제 첫 번째 글에 대해 neolith 님이 좋은 의견을 주셨습니다. 그(중 일부)에 대한 제 생각입니다.

OOP의 object가 속성과 행동을 함께 캡슐화하며 여러가지 처리의 중심이 된다는 의미에서 차라리 주체에 가깝다는 논리는 오래전부터 있어왔고 꽤 공감을 사고 있는 것 같지만, 저는 별로 공감하지 않습니다.

제가 해석하는 방식은 이렇습니다. 예를 들어 int x, int y;라는 코드가 있다고 할 때, x, y를 하나의 2차원 위치로 사용할 수 있습니다. 그러나 그 둘을 하나의 위치라고 보는 것은 그냥 프로그래머의 주관적인 생각일 뿐 코드 자체에 위치라는 개념이 존재하지는 않습니다. 반면 struct Position { int x, int y; };라는 코드는 코드가 표현하는 개념 공간 안에 '위치'라는 개념을 도입합니다. 저 코드 때문에 코드 공간 안에는 위치라는 개념(클래스)과 실제로 개별적인 위치(객체)들이 객관적으로 존재하게 됩니다. 객체는 그런 측면을 더 잘 표현한다고 생각합니다.

그리고 사용자 중심이 사용자 지향보다 더 자연스러운 것은 저도 동의하지만, 그게 곧 개체 중심을 옹호하는 근거가 되긴 힘들다고 봅니다. 왜냐하면 사용자 중심은 사용자를 중심으로 한다는 뜻이고 사용자 지향은 사용자를 향한다는 뜻인데, 둘이 완전히 같은 문제는 아니고 다만 사용자를 중심으로 한다는 생각이 우리에게 더 친근할 뿐이라고 생각하기 때문입니다. object-oriented가 객체를 향한다는 개념이 아니라 사실은 객체를 중심으로 한다는 개념인가? 이 문제에 대해 논의가 더 있어야겠죠.

(2006-12-19 추가: 세 번째 글 '객체 지향적'은 잘못된 번역인가 세 번째로 이어집니다.)

태그: 번역 프로그래밍

comments powered by Disqus

예전 댓글(읽기 전용)