세상을 알기위한 한걸음
by 겨울의검™
카테고리
이전블로그
최근 등록된 덧글
감사합니다. 좋은정보 ..
by ^^ at 07/16
후훗~ 내 응요이다~ 니..
by rainmakeR at 11/13
이글루링크
외부링크
rss

skin by 꾸자네
새 블로그로 오세요.
http://www.jakeworld.net

여기가 새 블로그입니다.
by 겨울의검™ | 2009/05/10 06:17 | 트랙백 | 덧글(0)
temp


by 겨울의검™ | 2006/08/23 00:58 | 트랙백 | 덧글(0)
본인은 열심히 군생활 중...
현재 강원도 지역에서 군생활 中...
작년7월에 입대했으니 10월 기준으로 1년 15개월을 넘어 16개월을 향해가는중...
이제 8개월 하고 몇일 정도 남았네.
그때까지 파이팅!
by 겨울의검™ | 2005/10/24 04:00 | Free Talk | 트랙백 | 덧글(1)
Object Oriented 를 '객체지향'으로 번역하는 것은 타당한가에 대한 토론
'객체 지향적'은 잘못된 번역인가?
류광
아닙니다. object를 객체로 번역하는 것이 딱히 잘못된 것은 아니고, -oriented를 -지향적이라고 번역하는 것도 딱히 잘못된 것이 아닙니다.

다른 많은 영어 단어들과 마찬가지로 object는 많은 뜻을 가지고 있고, 객체는 그 중 하나입니다. 문맥에 맞게 선택하는 게 중요할 뿐입니다.

object의 개념을 소개하는 문장들, 특히 '고양이도 객체, 차도 객체' 같은 문장을 근거로 사물이나 물체라는 용어를 택하는 것은 너무 성급하고 제한적입니다.

저는 object-oriented의 object는 객관적으로 존재하는 실체로서의 성격이 강조되어 있다고 생각합니다. 따라서 '객체'가 제일 적합하다고 생각합니다.

한편 '개체'도 그럴듯해 보이지만 object-oriented에서 종, 류, 군집, 보편의 반대로서의 개체를 강조하는 게 적합한지는 의심스럽습니다.(그리고 만일 그런 의미로 개체를 사용하는 게 아니라면 더 큰 문제입니다).

-oriented 는 -지향적 또는 '-지향'이 자연스럽습니다. -지향적이 어색하고 별로 쓰이지 않는다는 말을 하는 분도 있는데 미래 지향적 같은 용례가 있습니다.??'-중심(의)'를 제안하기도 하는데 -중심은 -centric에 할당하는 게 합리적입니다. '-위주'는 판단을 유보합니다만 -지향 보다 더 나을 것은 없어 보입니다.


류광(2004-02-12 15:35:43)
-oriented는 '~를 향한'도 좋겠네요. 어쨌든 향한다는 의미를 보존할 필요가 있을 것입니다.
--------------------------------------------------------------------------------
neolith(2004-04-17 02:48:21)
전 개체 중심에 한표. 막상 centric 은 별로 잘 쓰이지 않는 단어이기도 하고요.

예를 들면 '사용자 지향의 인터페이스' 라는 말하고 '사용자 중심의 인터페이스' 라는 말을 보면 아무래도 중심이라는 말이 더 쉽다는 생각이 듭니다.

그리고 object 이 나름대로 class 에 상대되는 개념으로도 많이 쓰이는 것을 보면 타입의 상대 (반대와 상대는 좀 다르겠죠?) 로서의 오브젝트를 개체로 보는 것이 이상할 것이 없다고 생각합니다.

객체에 '객관적 실체'라는 의미가 있는가 야후국어사전을 찾아보았습니다만, 주체의 반대로서의 의미, 혹은 목적물이란 의미외에는 찾을 수 없었습니다. 목적물 지향, 목적물 중심이라는 식이 되어버리면 아무래도 본 의미와는 달라지는 것 같습니다. 오히려 thing 과 thought 를 아우르는 object 에서는 여러가지 처리의 중심이 되는 의미이니 주체에 더 가깝지 않을까요?

이미 거의 사람들 입에 객체지향이라고 굳어지긴 했지만 객체지향이라는 단어를 볼때마다 아쉬움이 많이 남습니다. 중학교 수학시간에 나오는 유리수를 볼때와 비슷한 느낌이지요
--------------------------------------------------------------------------------
류광(2004-04-17 22:21:37)
와 반갑습니다 neolith님!

좋은 의견 고맙구요. 재미있는 주제라서 아예 "'객체 지향적'은 잘못된 번역인가 두 번째"라는 새 글을 올렸습니다.


'객체 지향적'은 잘못된 번역인가 두 번째
류광
객체 지향이라는 용어에 대한 제 첫 번째 글에 대해 neolith 님이 좋은 의견을 주셨습니다. 그(중 일부)에 대한 제 생각입니다.

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

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

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

굴돌(2004-04-19 12:41:24)
객체냐 개체냐의 관계에 대해서 개인적인 생각입니다.
객체는 개념상에서의 어떤 것을, 개체는 실체화된 어떤 것을 나타낸다고 생각합니다. 객체는 나무, 집, 지붕, 부엌 등이 될 수 있겠고, 개체는 우리 집, 집 앞에 심어져 있는 그 사과나무, 저기 있는 구멍 뚤린 지붕 등등으로 말입니다. 즉, 인스턴스(instance)의 개념인 것이죠. 실험을 할때 개체들을 갖고 실험을 하면서 각 개체들의 특성을 파악하죠. 같은 종의 벌이라고 하더라도 돌연변이 개체가 있을 수도 있고 말이죠.
위 구분에 동의 하신다면 OO에서 Object를 개체가 아닌 객체로 번역해야 한다는 부분에 동의하실 것이라 생각합니다. Design 및 Analysis는 개념적으로 작업하는 단계인 이상 실제 instance에 무슨 값이 들어갈까 보다는 어떤 객체들로 구분을 해둘까 하는 것이 맞다고 생각 합니다.

Orient에 있어서는...물론 한국어족의 정서상 '지향'보다 '중심'이 익숙하다고 하면 어쩔 수 없는 부분입니다만...
'지향'과 '중심'이라는 두 단어의 사전적 의미만 놓고 따져 본다면 OO에서 '중심'에 있는 것은 Architecture이지 Object가 아니라고 생각합니다. "object로 분류하는 방식을 지향한다.'라는 의미에서 '지향'이라는 표현이 적당하다고 생각합니다. OO에서 object로 나누는 것이 시작이요 끝인 것이 아니며 많은 개발 방법론에서 예기 하듯이 object를 먼저 나누는 것이 아니라 시스템 구조를 먼저 파악한 다음에 실제 구현에 있어서 structured방식으로 라이브러리들이나 함수관계등을 구조화 해서 시스템을 구축 하는 것 보다는 OO방식으로 객체들을 나눠 두는 것이 '개발, 수정, 관리'등에서 효과적이겠다라고 이해하고 있습니다.

물론 OO에서 Object들도 structure를 갖습니다만 앞에서 예기한 structured방식이란 과거에 사용했던 library에 함수들 및 기타 등등을 넣어서 개발했던 방식을 예기한 것입니다. 이 structured방식이 library를 structure에 맞춰 계획한 후에 각 library들을 나눠서 개발했던 형태여서 그런것이 아닌가 싶습니다.
--------------------------------------------------------------------------------
neolith(2004-04-20 21:42:03)
object 라는 단어 자체를 갖고 OOP 의 번역에 대해서 개체냐 객체냐, 지향이냐 중심이냐라는 것을 논하기보다는 소프트웨어 엔지니어링의 변천이라는 맥락에서 OOP 의 의미를 따져보면 어떨까요?

OOP 이전의 프로그램 세계에서는 소프트웨어 디자인이나 분석의 대상이 알고리즘 (플로우차트로 대변)과 자료구조 중심이었습니다. 분석가나 디자이너가 관심갖는 대상이 알고리즘과 자료구조였었는데, OOP 세상이 되면서 그 대상이 Object 가 된 것이니 Object 중심으로 분석하고 디자인한다. 라고 표현하면 좋을 것 같습니다.

즉 Object 를 Orient 하는 주체는 다른 사람이 아니라 분석가와 디자이너라고 보자는 것입니다.

그렇다면 분석가와 디자이너가 소프트웨어를 분석하고 디자인하는 과정이라는 맥락에서 Object 의 의미를 생각해본다면, Object Modeling 의 가장 기본은 Method 와 Property 를 추출하는 활동입니다. 그러한 'Method, Property'와 'Object' 간의 관계를 생각한다면 역시 Object 가 주체가 된다고 생각하는 것이 자연스럽지 않냐는 것입니다. 그래서 복잡한 문제영역 안에 있는 낱낱의 Entity 들을 Object 로서 모델링하고, 그것들 위주로 문서나 코드가 만들어지는 과정을 생각했을 때에 OOP 는 '개체중심프로그래밍' 이나 '개체중심디자인', '개체중심분석'. 혹은 '개체위주프로그래밍', '개체위주디자인', '개체위주분석'으로 생각하는 것이 자연스럽게 느껴진다는 것이 저의 의견입니다.
--------------------------------------------------------------------------------
류광(2004-04-21 18:17:47)
두 분 의견 잘 들었습니다. OO가 왜 대두되었고 무엇이 바뀌었는가를 중심으로 저도 다시 한 번 생각해 보겠습니다.

그나저나 한 블로그 내에서 답글로 이야기하기에는 너무 커진 듯 한데... 어떠세요? 트랙백 기능을 통한 블로그 대 블로그 논의도 좋을 것 같은데요? (블로그 안쓰신다면 게시판에서 수동으로 참조 링크를 걸수도 있겠구요...)
--------------------------------------------------------------------------------
neolith(2004-04-21 23:01:58)
저는 블로그를 쓰지 않아서.. 제 홈피의 게시물에 이 게시물과 전 게시물을 링크걸죠
--------------------------------------------------------------------------------
굴돌(2004-04-22 06:53:39)
블로그나 홈페이지 등등이 없어서 부득이 이곳에 답글 답니다. 죄송합니다.
객체<->개체: 위에 제가 쓴 글에서 '객체'의 정의가 잘못되어 있습니다. '개체'를 쓰는게 맞을 듯 싶습니다.
지향<->중심: '지향'의 원래 뜻에 있는 '의지' 표현을 위해서 '지향'이란 단어를 선택하는게 맞을 듯 싶습니다.
참조: The C++ Programming Language p727
http://www.korean.go.kr/
잡담: 지면상 내용을 간략하게만 썼습니다. 무엇인가 많이 찾아본 것 같은데 썰렁하군요.
'개체'를 써야 한다는 보류중인 생각입니다만 예기가 길어지므로 이만 줄입니다.
--------------------------------------------------------------------------------
하품물고기(2004-04-23 14:47:20)
객체'기반'은 어떤가요?
oriented라는 단어와는 거리가 있는 듯 하지만 왠지 저에게는 이쪽이 좀 더 와닫는 느낌이 듭니다.
--------------------------------------------------------------------------------
백아(2004-04-23 18:08:03)
산업디자인을 전공하고 있습니다. 어떤 디자인을 하였을때, 두세가지 모양으로 나누어져 하나의 물체를 이룰때, 그 모양을 객체라고 표현하고 물체를 개체라고 표현하고 있습니다. 객체가 어우러져 개체를 만든다는 개념입니다. 물론 실제로는 이런 상하개념이 아닙니다마는.
똑같이 생각할수는 없다고 생각합니다만, 이런 관점에서는 객체가 더 어울린다고 생각합니다.
--------------------------------------------------------------------------------
굴돌(2004-04-24 04:07:57)
위에 언급한 출처에서 object를 instance라고 예기하였는데 instance는 개체입니다. 표준어 사전에서 예기하는 객체의 의미하고는 거리가 있습니다. 개체(instance)가 대상(객체)이 될 수도 있지만 주체도 될 수 있죠.
하지만 제가 언어학자도 아니고, "교양있는 사람들이 두루 쓰는 현대 서울말"에 맞는 쪽이 '객체'인지 '개체'인지도 모르고, 또 이미 그것을 '객체'로 바꾸기에는 늦지 않았나 싶습니다. =.=a
oriented쪽은 잘 모르겠습니다.
이래서 초기에 외래어를 들여오는 사람들이 자신에게 익숙한 언어가 아닌 두루 쓰이는 언어를 사용해야 하는데...대한민국이라는 지역 범위와 현대라는 불명확한 시간 범위에 걸친 표준적인 언어를 이해하고 있는게 쉽지는 않을 것 같네요. 그러면서 그 분에야 선구자이기까지 하다면...;;;
자꾸 토론이 길어지네요. 주인장님에게 죄송합니다. T.T...이글이 마지막입니다. T.T
--------------------------------------------------------------------------------
류광(2004-04-27 20:59:06)
모두들 의견 감사합니다. 조만간 정리 차원의 글을 하나 더 올릴께요...
--------------------------------------------------------------------------------
neolith(2004-04-29 21:18:15)
차라리 '오브젝트 중심 프로그래밍' 이라고 애초에 소개되었다면 어땠을까 하는 생각이 드네요. 오브젝트는 여러분이 생각하는대로 오브젝트이지, 객체에 가깝지도, 개체에 가깝지도 않은 또 다른 존재라는 생각이 듭니다
--------------------------------------------------------------------------------
굴돌(2004-05-04 14:24:28)
오타 수정합니다. 04년 4월 24일자 글에서 "'객체'로 바꾸기"가 아니라 "'개체'로 바꾸기" 입니다.


원본URL :
http://occam.n4gate.com/zboard/view.php?id=column&no=30
http://occam.n4gate.com/zboard/view.php?id=column&no=37
by 겨울의검™ | 2004/06/28 23:38 | Language | 트랙백(3351) | 핑백(3) | 덧글(0)
◀ 이전 페이지 다음 페이지 ▶