개요 및 등장 배경
POJO는 Plain Old Java Object의 약자로써 직역하자면 Java로 생성한 순수 객체를 뜻합니다.
Java가 등장한 뒤, 시간이 지나고 EJB(Enterprise Java Beans) 등의 프레임워크를 사용하는 것으로
애플리케이션을 만들기는 쉬워졌지만 특정 기술과 환경에 종속되어 가독성이 떨어지고 유지보수가
어려울 뿐만 아니라, 확장성까지 떨어지는 단점이 대두되었습니다.
이러한 상황에서 프레임워크에 종속된 객체에 반발한 개발자들이 POJO라는 용어를 사용하기 시작했습니다.
POJO는 객체지향적인 원리에 충실하면서 환경과 기술에 종속되지 않고
필요에 따라 재활용될 수 있는 방식으로 설계된 오브젝트입니다.
POJO Programming
POJO 프로그래밍은 POJO를 이용하여 프로그램 코드를 작성하는 것을 말합니다.
POJO 예제 코드
POJO 프로그래밍의 기준
1. 객체지향적인 설계의 여부
반복되는 템플릿 코드와 테스트하기 어려운 구조, 확장이나 재활용이 어렵다면 기준에 부합하지 않습니다.
2. 테스트 용이성
테스트 코드 작성이 편해집니다.
그러므로 코드 검증과 품질 향상에 유리하고 나아가 리팩토링을 통해 더 나은 구조로 변경할 수도 있습니다.
POJO Framework
POJO 프레임워크는 POJO의 장점과 EJB의 장점을 그대로 사용할 수 있게 해주는 프레임워크입니다.
1. Hibernate
ORM을 POJO로 사용할 수 있게 해주는 대표적인 POJO 프레임워크입니다.
JPA라는 표준 인터페이스를 기반으로 구현하였기 때문에 프레임워크에 종속되지 않고
사용하는 것이 가능합니다.
2. Spring
POJO로 EJB의 서비스들을 사용할 수 있게 해주는 프레임워크입니다.
IoC 컨테이너를 제공하여 인스턴스들의 라이프 사이클을 관리하고
AOP를 적용해서 개발이 더욱 쉬워졌습니다.
참고
https://dev-coco.tistory.com/82
[Spring] POJO(Plain Old Java Object)란?
참고 포조(Plain Old Java Object, POJO)가 뭘까? [ 위키백과 ] Plain Old Java Object, 간단히 POJO는 말 그대로 해석을 하면 오래된 방식의 간단한 자바 오브젝트라는 말로서 Java EE 등의 중량 프레임워크들을 사
dev-coco.tistory.com
'기술면접' 카테고리의 다른 글
| Stack과 Queue, Array와 Linked List (0) | 2023.04.04 |
|---|---|
| Java의 특징 (0) | 2023.04.04 |
| Web server와 WAS의 차이점 (0) | 2023.04.03 |
| 트랜잭션이란? (0) | 2023.04.03 |
| TCP와 UDP의 공통점과 차이점 (0) | 2023.03.31 |