POJO (Plain Old JAva Object)

  • 순수한 자바 오브젝트를 뜻한다.
  • 역사를 거슬러 올라가보면 예전 EJB가 인기를 끌고 많이 사용하던 시절에는 단순한 자바 오브젝트를 사용해서 개발하는 것이 아닌 EJB에 종속적인 부분으로 개발을 진행하였다.
  • 그로 인하며 Module의 교체, 시스템 업그레이드시 종속성으로 인하여 불편함이 발생하였다.


POJO 특징

  • 특정 규약에 종속 되지 않는다.
    • 특정 Librarym Module에서 정의된 클래스를 상속 받아서 구현하지 않아도 된다.
    • POJO가 되기 위해서는 외부의 의존성을 두지 않고 순수한 JAVA로 구성이 가능해야 한다.
  • 특정 환경에 종속되지 않는다.
    • 만일 특정 비즈니스 로직을 처리 하는 부분에 외부 종속적인 http request, session 등 POJO를 위해한 것으로 간주한다.
    • 많이 사용하고는 있지만 @Annotation기반으로 설정하는 부분도 엄연히는 POJO라고 볼 수는 없다.


POJO Framework

  • Spring, Hibernate
    • 하나의 서비스를 개발하기 위해서는 시스템의 복잡함, 비즈니스 로직의 복잡함 등 다양한 어려움을 맞이 하게 된다.
    • 위의 두 프레임워크는 객체지향적인 설계를 하고 있으며 또한 POJO를 지향하고 있다.
    • 그러므로 개발자가 서비스 로직에 집중하고 이를 POJO로 쉽게 개발 할 수 있도록 지원하고 있다.

Leave a comment