객체지향 이야기 (개정판)전자책
전병선30여 년간 현업에서 개발자와 아키텍트, 컨설턴트로 다양한 프로젝트를 수행하였으며 30여 권의 저서와 7권의 번역서를 출간하고 폭 넓은 독자 층을 갖고 있는 베스트 셀러 저자다.
금융, 제조, 조선, 통신, 국방, 정부 연구 기관 등 다양한 도메인 분야에서 아키텍트이자 컨설턴트로 프로젝트를 수행하였으며, 특별히 SOA 전문가로서 조달청 차세대 통합 국가전자조달시스템 구축 사업 서비스 모델링과 KT N-STEP SOA 진단 컨설팅 등의 프로젝트를 수행하였다.
대표적인 저서로는 전병선의 객체지향 이야기와 SOA, What & How, CDB, What & How, All-in-One Java 애플리케이션 개발, UML 분석 설계 실무, 나는 개발자다 등이 있다. 이러한 지식와 노하루를 바탕으로 최근에는 막 개발자와 프로그래머로서 첫걸음을 시작하는 사람들이 실무 프로젝트에서 작업을 할 수 있을 만큼의 능력을 갖출 수 있도록 핵심 지식과 기술을 묶어 다섯 권의 책을 출간하였다.
또한 이들 책을 교재로 온라인 강의 사이트(www.realdev-learning.com)에서 체계적인 강의를 제공하고 있으며, 이러한 노력은 자바에서 닷넷으로, 객체지향 언어에서 함수형 언어로, 컴포넌트에서 마이크로서비스로, 모노리식 애플리케이션에서 반응형 분산 컴퓨팅 분야로 이동하면서 끊임 없이 새로운 기술과 언어에 관한 저술과 강의 할동을 계속 이어갈 예정이다.
유튜브(www.youtube.com/@realdev.learning)에서 독자들과의 소통에도 힘쓰고 있다.
객체지향 이야기는 소프트웨어 개발자 뿐만 아니라, 관리자와 처음 프로그래밍을 시작한 사람들 모두를 위한 책입니다. 소프트웨어 개발자는 자신이 알고 있던 것에 부족한 부분을 채워가면서 객체지향 개념을 확고하게 정립할 수 있을 것입니다. 개정판에서 객체지향과 관련된 소프트웨어 엔지니어링 이야기들을 담았습니다.
목차- 1장 객체지향, 이것이 무엇에 쓰는 물건인고?
- 이 책은 1장의 제목인 ‘객체지향, 이것이 무엇에 쓰는 물건인고?’ 라고 질문을 던지면서 이야기를 시작합니다. 그리고 이 질문에 대한 해답을 찾아 머나 먼 여행의 길을 시작합니다.
- 2장 미션 임파서블 - 객체지향을 이해하라!
- 과연 객체지향이란 개념을 이해한다는 것이 도무지 불가능한 임무인가를 스스로에게 반문하며 다소 철학적인 탐구로 그 이해에 대한 가능성을 타진합니다. 여기에서 쉽게 포기하지만 않는다면 그것은 조금도 불가능한 일이 아니라는 것을 깨닫습니다.
- 3장 the 클래스 - 클래스 개요
- 우리의 여행에 그렇게 밝은 미래가 있음을 기대하며 클래스에 대한 탐구를 시작합니다. 우리는 UML 모델링 언어를 통해서 관념 속에 머물러 있던 클래스의 개념을 눈으로 보고, C++, 자바, C# 언어들 속에서 객체지향 개념이 어떻게 성장해왔는가를 직접 몸으로 느끼며, 조금씩 아! 클래스란 이런 것이겠구나! 하는 깨달음을 얻게 됩니다.
- 4장 혼자서는 살 수 없어요! - 클래스 사이의 관계, 종속과 연관
- 우리는 때로는 자동차를 운전하는 사람도 되고 자동차를 수리하는 정비사도 되면서 클래스 사이의 종속과 연관 관계를 찾아보며 우리 모두가 같이 사는 것임을, 그래서 나와 다른 생각을 갖고 있는 사람들도 포용할 줄 아는 성숙함도 배웁니다.
- 5장 발가락이 닮았다 - 일반화와 상속성
- 결코 아이를 가질 수 없는 아버지가 그래도 발가락이 닮았다며 애써 자신과 닮은 것을 찾아내는 소설 속의 따뜻함을 우리들 뿐만 아니라 클래스도 가지고 있음을 발견하기도 합니다.
- 6장 홈 씨어터 꾸미기 - 인터페이스와 실현
- 우리는 서로에게 도움이 되기 위해 약속한 것을 지키는 인터페이스의 신실함을 텔레비전과 DVD 플레이어 사이의 관계의 예에서 찾기도 합니다. 이처럼 우리의 삶 속에서 클래스의 특징을 찾을 수 있는 것은 객체지향이 우리 생각을 아주 자연스럽게 표현한 것이기 때문입니다.
- 7장 내가 만들어 쓴다 - 사용자 정의 데이터 타입
- 우리가 일단 클래스와 친해지면 새로운 것을 자유롭게 만들어 사용할 수 있게 된다는 것을 배우는 것이지요. 또 그러면서 진정한 자유함이란 절제 안에 있다는 것도 깨닫게 됩니다.
- 8장 소프트웨어 개발 프로세스
- 포멀 프로세스와의 전쟁에서 승리한 애자일 프로세스에 대해서 설명합니다.
- 9장 객체지향 설계 5원칙
- SOLID 원칙으로 잘 알려진 유명한 객체지향 설계 5원칙을 설명합니다. 객체지향 방식으로 프로그래밍하거나 설계를 할 때 지켜야 할 원칙 다섯 가지를 설명합니다.
- 10장 클린 코드
- 클린 코드는 어떤 코드가 좋은 코드이고 어떤 코드가 나쁜 코드인지를 설명하는 기본적이면서도 보편적인 애자일 실천 중 하나입니다.
- 11장 애플리케이션 프레임워크
- 스프링 프레임워크나 ASP.NET 프레임워크와 같이 소프트웨어를 개발할 때 필수적으로 사용해야 하는 애플리케이션 프레임워크의 기본적인 개념과 아키텍처 패턴에 대해서 설명합니다.
- 12장 디자인 패턴
- 그 유명한 4인의 갱단이 객체지향 코드를 작성하고 설계할 때 부딪치는 문제점과 해결 방안을 제시한 디자인 패턴들을 요약해서 설명합니다.
- 13장 리팩토링
- 코드를 변경하고 추가하는 과정에서 비대해지는 문제점을 해결하는 방안을 제시한 리팩토링 애자일 실천을 요약해서 설명합니다.
- 14장 객체지향 방법론
- 객체지향 방법론은 초판에도 포함된 객체지향 방식의 분석 설계 방법론입니다.
- 15장 객체지향 너머
- 객체지향 개념을 밑거름으로 발전해 온 컴포넌트, 서비스, 마이크로서비스 등의 개념들과 곧 앞으로 다가올 새로운 주제인 함수형 프로그래밍에 대해서 개관합니다.