1. 객체 지향이란? 현실에 존재하는 사물을 그대로 모델링하여, 이들의 행위와 속성을 정의 객체가 중심이 되어 실제 사물이 동작하는 방식으로 설계하기 시작함 절차지향보다 조금 더 편리한 설계 사물 → 객체 Object 사물이 하는 → 행위 Method
객체의 속성을 보호하기 위해서 사용자신이 가지고 있는 속성에 대해서는 해당 상태를 변경하는 기능을 제공해야 함실물 객체가 가진 기능을 모두 제공해야 함각각의 메서드는 서로 관련성이 있어야함 ⇒ 속성의 상대되는 기능을 제공해야 함 ex. 차량의 렌탈이 있다면 반납도!객체
좋은 소프트웨어 설계 = 결합도 Coupling 낮추고 + 응집도 Cohesion 높이자모듈(클래스)간 상호 의존 정도를 나타내는 지표결합도가 낮으면 모듈 간의 상호 의존성 줄어듬 ⇒ 객체의 재사용 및 유지보수 용이하나의 모듈 내부에 존재하는 구성 요소들의 기능적 관련
순수한 자바 오브젝트예전 EJB가 인기였을 때단순한 자바 오브젝트를 사용해서 개발하는 것이 아닌, EJB에 종속적인 부분으로 개발 진행 ⇒ Module의 교체, 시스템 업그레이드 시 중속성으로 불편함 발생이러한 문제점들을 POJO로 해결!특정 규약에 종속되지 않는다특정