java

자바 객체 지향의 원리와 이해_Chapter01_사람을 사랑한 기술

강용민 2023. 3. 17. 21:47

개념과 제품

해당 책에서는 저자가 개념과 제품을 명확하게 구분해놓았다.

개념은 CBD(Component Based Development), SOA(Service Oriented Architecture), OOP(Object Oriented Programming) 등의 철학과 기술을 의미하며, 제품은 이러한 개념을 바탕으로 구현된 것이다. 예를 들어 OOP의 개념을 실제로 적용한 제품으로는 Java, C++ 등의 객체 지향 언어가 있다.

마찬가지로, 스프링 프레임워크도 하나의 제품으로 소개했다. 그렇다면 스프링은 어떤 개념에서 구현된 제품일까? 필자는 POJO(Plain Old Java Obejct)가 아닐까 생각했다. 무겁고 어렵던 기존의 기술(EJB, Java EE등)을 탈피하고자 탄생했다고 알고 있었기 때문이다. 하지만 저자는 이전의 기술들(절차적/구조적 프로그래밍, 객체 지향, 디자인 패턴 등)을 기반으로 한 "OOP 프레임워크"라 설명한다.

책의 목표는 바로 자바를 이용하여 객체 지향 프로그래밍을 이해하는 것이다. 제품에는 개념이 녹아 있으므로, 역으로 제품 안에 내재된 개념을 찾아 이해하는 것이 중요하다.

 

OOP 개념을 구현한 대표적인 제품 중에서 자바를 선택했고, 다음과 같은 것을 배울것이다.

  • OOP 개념
  • 자바 언어의 문법
  • 자바가 OOP 개념을 구현한 방식