[IT가이드]객체지향이야기

 객체지향 이야기

 전병선 지음

 컴피플 펴냄

 컴퓨터가 등장한 20세기 중반 이후 다양한 소프트웨어들이 만들어지면서, 적시에 고품질의 소프트웨어를 체계적으로 개발·관리하기 위한 여러 방법론들이 등장했다. 그런데 이들 방법론을 제대로 이해하고 활용하기 위해서는 그 근간이 되는 소프트웨어 공학에 대한 이해가 필요하다. 이와 마찬가지로 C++, 자바, C#과 같은 언어에서부터 클라스 라이브러리, 프레임워크, 패턴, 아키텍처, 웹 서비스, CCM/CORBA, J2EE/EJB, .NET/COM+에 이르기까지 많은 소프트웨어 관련 기술들이 발전하고 있지만 그 근간에는 변하지 않는 객체지향 개념이 있다. 이 책은 4개의 프로그래밍 언어(C++, 자바, VB.NET, C#)와 1개의 모델링 언어(UML)를 통해 바로 그 객체지향을 이야기한다.

 이 책은 모두 13개의 이야기와 3개의 부록을 갖고 있다. 이야기 1(객체지향)은 객체지향의 개념과 활용 방법에 관한 설명이며 이야기 2(미션 임파서블)는 추상화·캡슐화·모듈화·계층화라는 객체지향의 4가지 기본개념을 보여준다. 이야기 3(the 클래스)부터 4(혼자서는 살 수 없어요), 5(발가락이 닮았다), 6(홈 시어터 꾸미기)까지는 클래스의 개념, 연관 관계, 상속 관계, 인터페이스의 개념을 설명하고 네 가지 언어를 통해 이들이 어떻게 구현되는지 보여준다. 이야기 7(내가 만들어 쓴다)은 C++, C# 두 언어로 사용자 정의 데이터 타입에 대해서 설명한다. 이야기 8(윈도 프로그래밍, 객체지향을 향하여)은 GUI프로그래밍과 메시지 프로그래밍에 대한 C++코드와 MFC 프로그래밍에 대한 개괄적인 설명을 다룬다. 이야기 9(자바, 객체지향적인 너무나 객체지향적인)는 MVC 패턴을 위주로 여러 자바 코드들을 보여준다. 이야기 10(컴포넌트 기반 분산 객체 기술, 객체지향의 실현)은 분산 객체 기술에 대해 설명하면서도 이들의 다양한 이면에 숨어있는 객체지향 기술을 강조한다. 이야기 11(COM+ 서비스)은 COM+에 대한 전반적인 설명을 시작으로 COM+ 서비스들을 코드와 함께 보여준다. 이야기 12(Windows DNA에서 .NET 플랫폼까지)는 제목에서 알 수 있듯이 MS의 기술적 발전사를 말해준다. 이야기 13(객체지향 모델링)은 수강 등록 시스템 예제를 통해 UP(Unified Process)에 대해 설명한다. 부록으로 객체지향 언어 구문 비교와 UP 예제에 대한 데이터베이스 설계 과정을 보여준다.

 성숙되고 체계적인 SW 강국이 되기 위해서는 근본과 원리가 보다 중시될 필요가 있고, 이를 위해서는 단순한 시대적 조류가 아닌 변화 속에서도 흔들리지 않는 근본에 대한 이해가 필요하다. ‘객체지향 이야기’는 수천년 동안 분류체계에 대한 형식적 고민을 해결해왔던 트리(Tree)처럼 객체를 바탕으로 이루어지는 오랜 인간의 인식 체계에 대한 깨달음과 작가의 오랜 경험과 통찰에 대해, 딱딱한 글이 아닌 거리감 없는 이야기들을 통해 그 소중한 근본을 아낌없이 전달해주는 고마운 책이다.

 <박현철 컴포넌트비젼 사장 grady@componentvision.com>


브랜드 뉴스룸