POJO (Plain Old Java Object)
순수한 자바 오브젝트를 뜻한다.
역사를 거슬러 올라가보면, 예전 EJB가 인기를 끌고, 많이 사용하던 시절에는 단순한 자바 오브젝트를 사용해서
개발하는 것이 아닌, EJB에 종속적인 부분으로 개발을 진행
그로 인하여, Module의 교체, 시스템 업그레이드시 종속성으로 인하여 불편함 발생
POJO의 특징
1. 특정 규약에 종속되지 않는다.
특정 Library, Module에서 정의된 클래스를 상속 받아서 구현하지 않아도 된다.
POJO가 되기 위해서는 외부의 의존성을 두지 않고, 순수한 JAVA로 구성이 가능해야 한다.
2. 특정 환경에 종속되지 않는다.
만일 특정 비즈니스 로직을 처리하는 부분에 외부 종속적인 http request, session 등 POJO를 위배한 것으로
간주한다.
또한 많이 사용하고는 있지만 @Annotation 기반으로 설정하는 부분도 엄연히는 POJO라고 볼 수는 없다.
POJO Framework
1. Spring, Hibernate
하나의 서비스를 개발하기 위해서는, 시스템의 복잡함, 비즈니스 로직의 복잡함 등 다양한 어려움을 맞이하게 된다.
위의 두 프레임워크는 객체지향적인 설계를 하고 있으며, 또한 POJO를 지향하고 있다.
그러므로 개발자가 서비스 로직에 집중하고 이를 POJO로 쉽게 개발할 수 있도록 지원하고 있다.
Chapter1을 마무리하면서
자신의 코드에 if/else, switch가 난무하고 있지 않은가?
책임과 역할이 다른 코드가 하나의 클래스에 다 들어가 있지 않은가?
절차지향적으로 한 개의 파일에 모든 코드를 넣고 있지 않은가?
내가 만든 객체가 재사용이 가능한가?
앞으로는 복잡한 엔터프라이즈 로직은 Spring, Hibernate에 맡기고, 이들이 지향하는
객체지향적 프로그래밍을 이를 사용하기만 해도 배울 수 있는 장점이있다.
그렇기에 스프링 프레임워크는 오랜 기간, 그리고 전 세계적으로 사랑 받는 이유이기도 하다.
'자바' 카테고리의 다른 글
디자인 패턴 1. 싱글톤 패턴 (Singleton Pattern) (0) | 2022.03.10 |
---|---|
디자인 패턴 (0) | 2022.03.10 |
객체지향 3. 객체지향 설계 5원칙 SOLID (0) | 2022.03.10 |
객체지향 2. 객체지향 4가지 핵심요소 캡슐화, 상속, 다형성, 추상화 (0) | 2022.03.10 |
객체지향 1. 객체지향이란 (0) | 2022.03.10 |
댓글