정의

특정 자바 모델이나 기능, 프레임워크를 따르지 않는 순수 Java Object

목적 및 특징

POJO를 지키지 않으면, 개발자가 작성하는 코드에 해당 객체의 책임인 비즈니스 로직과 관련없는 Framework 구현 코드가 섞여들어간다. (단일책임원리 X)

또한 특정 기술과 환경에 종속되어 의존하게 되면, 코드 가독성 뿐만아니라 유지보수, 확장성에도 어려움이 생긴다.

이러한 객체지향의 장점을 잃어버린 자바를 되살리기 위해 POJO라는 개념이 등장한 것

POJO의 진정한 가치는 특정 환경과 기술에 종속되지 않으며, 객체지향단일책임원리를 지키며, 비즈니스 로직에 충실한 개발이 가능하도록 하는 것

예시

  1. *Java Bean이 대표적이다.*

  2. Spring

    Untitled

POJO가 가지면 안되는 것

장점

  1. 특정 환경과 기술에 종속되지 않는다.
  2. 특정 환경에 종속되지 않아 테스트 용이
  3. 특정 규약에 종속되지 않아 로우레벨 코드와 비즈니스 코드가 분리되어 개발자는 비즈니스 로직에 충실한 개발이 가능함 + 가독성
  4. 필요에 따라 재활용 가능

면접 질문