'객체 지향적'은 잘못된 번역인가 두 번째
류광, 2004/04/17 21:56
객체 지향이라는 용어에 대한 제 첫 번째 글에 대해 neolith 님이 좋은 의견을 주셨습니다. 그(중 일부)에 대한 제 생각입니다.
OOP의 object가 속성과 행동을 함께 캡슐화하며 여러가지 처리의 중심이 된다는 의미에서 차라리 주체에 가깝다는 논리는 오래전부터 있어왔고 꽤 공감을 사고 있는 것 같지만, 저는 별로 공감하지 않습니다.
제가 해석하는 방식은 이렇습니다. 예를 들어 int x, int y;라는 코드가 있다고 할 때, x, y를 하나의 2차원 위치로 사용할 수 있습니다. 그러나 그 둘을 하나의 위치라고 보는 것은 그냥 프로그래머의 주관적인 생각일 뿐 코드 자체에 위치라는 개념이 존재하지는 않습니다. 반면 struct Position { int x, int y; };라는 코드는 코드가 표현하는 개념 공간 안에 '위치'라는 개념을 도입합니다. 저 코드 때문에 코드 공간 안에는 위치라는 개념(클래스)과 실제로 개별적인 위치(객체)들이 객관적으로 존재하게 됩니다. 객체는 그런 측면을 더 잘 표현한다고 생각합니다.
그리고 사용자 중심이 사용자 지향보다 더 자연스러운 것은 저도 동의하지만, 그게 곧 개체 중심을 옹호하는 근거가 되긴 힘들다고 봅니다. 왜냐하면 사용자 중심은 사용자를 중심으로 한다는 뜻이고 사용자 지향은 사용자를 향한다는 뜻인데, 둘이 완전히 같은 문제는 아니고 다만 사용자를 중심으로 한다는 생각이 우리에게 더 친근할 뿐이라고 생각하기 때문입니다. object-oriented가 객체를 향한다는 개념이 아니라 사실은 객체를 중심으로 한다는 개념인가? 이 문제에 대해 논의가 더 있어야겠죠.
(2006-12-19 추가: 세 번째 글 '객체 지향적'은 잘못된 번역인가 세 번째로 이어집니다.)
OOP의 object가 속성과 행동을 함께 캡슐화하며 여러가지 처리의 중심이 된다는 의미에서 차라리 주체에 가깝다는 논리는 오래전부터 있어왔고 꽤 공감을 사고 있는 것 같지만, 저는 별로 공감하지 않습니다.
제가 해석하는 방식은 이렇습니다. 예를 들어 int x, int y;라는 코드가 있다고 할 때, x, y를 하나의 2차원 위치로 사용할 수 있습니다. 그러나 그 둘을 하나의 위치라고 보는 것은 그냥 프로그래머의 주관적인 생각일 뿐 코드 자체에 위치라는 개념이 존재하지는 않습니다. 반면 struct Position { int x, int y; };라는 코드는 코드가 표현하는 개념 공간 안에 '위치'라는 개념을 도입합니다. 저 코드 때문에 코드 공간 안에는 위치라는 개념(클래스)과 실제로 개별적인 위치(객체)들이 객관적으로 존재하게 됩니다. 객체는 그런 측면을 더 잘 표현한다고 생각합니다.
그리고 사용자 중심이 사용자 지향보다 더 자연스러운 것은 저도 동의하지만, 그게 곧 개체 중심을 옹호하는 근거가 되긴 힘들다고 봅니다. 왜냐하면 사용자 중심은 사용자를 중심으로 한다는 뜻이고 사용자 지향은 사용자를 향한다는 뜻인데, 둘이 완전히 같은 문제는 아니고 다만 사용자를 중심으로 한다는 생각이 우리에게 더 친근할 뿐이라고 생각하기 때문입니다. object-oriented가 객체를 향한다는 개념이 아니라 사실은 객체를 중심으로 한다는 개념인가? 이 문제에 대해 논의가 더 있어야겠죠.
(2006-12-19 추가: 세 번째 글 '객체 지향적'은 잘못된 번역인가 세 번째로 이어집니다.)
Trackback Address :: http://occamsrazr.net/tt/trackback/37
- Tracked from CrossCutter 2006/12/16 15:06 DELETE
Subject: 객체는 지향의 대상인가
나를 비롯하여 이 글을 보는 모든 사람들은 객체지향이라는 말에 매우 익숙할 것이다. Java는 물론이며 C++, C#을 비롯하여 Ruby, VB까지도 객체지향이라는 이야기를 한다. 어느 언어가 더 객체지..

