database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
ㆍCUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
CUBRID Columns 34 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 34
객체란 무엇인가? `등록여부`도 객체일까?
작성자
정병주(unisql)
작성일
2003-03-10 11:19
조회수
6,903

[ 칼럼니스트 : 문송천 교수]

 

객체란 말처럼 여러 사람들을 본의 아니게 현혹시키는 말도 흔치는 않다.

그만큼 듣고 또 들어도 팍 잡히지 않는 개념이 객체란 것이다.

혹자는 프로그램 쪽에서 보면 데이터가 객체이고 데이터 쪽에서 보면 프로그램이 객체라고 한다.

나타내고자 하는 대상이 객체일진대 프로그램과 데이터 양자 모두 객체를 보면 뭐 아니 될 것 있느냐는 듯 의기양양해 한다.

사람은 예를 들자면 당연히 동물이다. 그렇다고 해서 코끼리나 개미도 사람이라고는 말할 수 없는 것이다. 정보시스템에서 데이터와 프로그램을 구분 없이 섞어서 마구잡이로 이야기하는 것처럼 어리석은 일은 그야말로 가공할 만한 불행을 야기한다.

 

다름아닌 단적인 예를 들어 '등록여부'가 프로그램 몫이냐 데이터 몫이냐는 분명히 가려져야만 한다.

학생 혹은 수강생이 정해진 기간 내에 등록금을 납부했느냐로 등록여부는 가려지게 마련이다. 이 경우 등록금과 납부일시는 데이터로서 결격이 없으나 등록여부는 분명히 데이터로서는 결격이다.

왜냐하면 이는 프로그램에서 등록금 납부일시를 점검해보면 알 수 있기 때문이다.

이제 '등록여부'가 결코 데이터가 될 자격미달임을 공감할 줄로 기대한다. 등록여부처리는 분명히 프로그램 몫이다.

프로그램 몫인 것을 데이터로 둔갑하는 일을 한번이라도 허용하고 나면 이 작디작은 눈발 하나가 씨앗이 되어 중복의 정도는 순식간에 눈덩이처럼 불어나 걷잡을 수 없는 상황으로 전개된다.

 

이제 객체가 무엇이냐로 다시 돌아가보자. 객체는 결론적으로 말하면 데이터이다.

프로그램을 데이터라고 할 수 없듯이 프로그램은 결코 객체로 지칭될 수 없다. 정 부르고 싶으면 프로그램은 객체란 말에 상대적으로 주체라고 부르면 좋겠다.

객체지향개념에서 프로그램을 묘사할 때 데이터의 양태(behavior) 혹은 방법(method)이라고 하질 않는가. 데이터에 무게중심을 실어주고 나면 다른 것들은 데이터의 무엇무엇으로 모두 묘사가능한 존재가 되고 만다.

즉, 다른 것들은 모두 데이터가 소유한 부속품으로 격하시킬 수도 있다는 이야기이다. 객체지향개념이 데이터중심 사고방식의 극치(참조: 문송천, 데이터웨어, 홍진출판사, 2002)라고 묘사한 뜻도 여기에서 전혀 벗어나지 않는 해석이다.

 

정보시스템을 신규개발할 때마다 무엇이 과연 데이터이냐를 따져볼 겨를이 없이 그냥 시간에 쫓겨 프로그램짜기에만 급급하다 보니까 '등록여부'와 같이 엉뚱한 불가사의한 데이터가 잡히는 꼴을 벗어나지 못하는 것이다.

데이터는 데이터 자체이고 프로그램과는 혼합해서 생각할 필요가 없으며, 선후관계로 따지자면 데이터가 프로그램보다도 당연히 먼저이지 프로그램이 더 선행되는 일은 뒤죽박죽의 결과를 초래할 수 밖에는 없는 것이다.

생각해보자. 기업에서 데이터 처리 자동화를 위해 프로그램을 개발하지 프로그램 처리 자동화를 위해 데이터를 개발하는가? 이렇듯 선후관계에 쐐기를 박은 결정타 역할을 하고자 한 것이 바로 다름아닌 객체개념이다.

 

업무자동화의 열풍이 여전히 요즘도 거세다. Customer relationship management 하더니

이제는 CRO('O'는 optimization을 지칭한다.) 시대라느니 더 나아가서는 Professional services automation 시대니 하는 이야기로 진화되어 나가고 있다. 아마도 많은 사람들은 향후 수개월 후이면 PSA 라는 신조어에 촉각을 기울일 것이 분명하다.

프로그램은 자동화 추세를 이렇듯 잘 타고 있건만 데이터는 여전히 손끝의 예술감각에 의존하는 수 밖엔 없다. 프로그램보다도 데이터가 훨씬 더 예민한 탓이다.

데이터 제작이나 설계를 자동화하는 도구가 있으면 금상첨화이겠으나 이 중차대한 일은 기계가 해낼 수 있는 영역이 아니다. 매번 인간의 피땀 어린 정성을 정보시스템에 쏟아 넣어야 하는 이유가 바로 여기에 있다. 병아리 감별작업을 기계가 하는 것보다 사람이 하는 것이 훨씬 더 빠르고 정확하듯이 어느 정보시스템이라도 데이터 감별사의 역량이 제대로 발휘되지 않는 한 그 작품은 졸작이라는 전문가의 평가를 면치 못하고 만다.

 

객체와 예술, 프로그램과 자동화, 이러한 쌍의 관계를 조명해 볼 수 있기 기대해본다.

프로그램 짜는 일 역시 깊이 들어가면 갈수록 거의 예술에 가까운 것임을 인정하지 않을 수 없다. 그러니 프로그램 감별사에 더불어 데이터 감별사를 확보만 할 수 있다면 정보시스템의 성공보장에 두려울 일이 하나도 없지 않을까.

 

< 소스 : http://www.sds-epartner.com >

[Top]
No.
제목
작성자
작성일
조회
58UniSQL 백서
정병주
2003-04-23
7390
40퍼지 요소(FUDGE Factor)
정병주
2003-03-18
7171
35미래를 밝히자: IT는 있으나 SW는 없다
정병주
2003-03-10
7527
34객체란 무엇인가? `등록여부`도 객체일까?
정병주
2003-03-10
6903
33지금은 데이터시대
정병주
2003-03-10
5932
30컴퓨터월드 UniSQL 6.0 제품 리뷰
정병주
2003-03-07
5864
18관계형 + 객체지향형 = ? (1)객체형 (2)관계형 (3)의미형 (4)연역형
정병주
2003-03-03
5886
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다