POJO

마자나다·2023년 12월 5일

Spring

목록 보기
3/9

POJO란?

  • Plain Old Java Obejct의 약자이다. 직역하자면 순수한 오래된 자바 객체이다. 즉 Java로 생성하는 순수한 객체를 뜻한다.
  • POJO는 객체 지향적인 원리에 충실하면서 환경과 기술에 종속되지 않고, 필요에 따라 재활용 될 수 있는 방식으로 설계된 오브젝트이다.
  • 다른 클래스나 인터페이스를 상속받아 메서드가 추가된 클래스가 아닌, 기본적인 기능만 가진 자바 객체이다.

POJO의 규칙

  1. Java나 Java의 스펙에 정의된 것 이외에는 다른 기술이나 규약에 얽매이지 않아야한다. : 앞서 포조의 정의에서 말했듯, Java가 아닌 다른 기술을 상속받아 코드를 작성하게 되면, 다른 기술로 변경할 떄나, 상속을 사용할 때에 계속해서 문제가 발생한다.
  2. 특정환경에 종속적이지 않아야 한다. : 특정한 프레임워크에서만 동작이 가능해선 안된다. POJO는 환경에 독릭접이어야 한다. 예를 들어 사용환경을 웹으로만 제한하거나, 웹에서만 동작하는 API를 직접 사용하지 말아야한다. 웹 이외에 다른 클라이언트에서도 사용이 가능해야 하기 떄문이다.
  3. 객체지향적 원리에 충실해야한다. : 상속과 다형성을 적용한 클래스가 아닌, 조건문으로 가득찬 클래스의 오브젝트는 POJO라고 부르기 힘들다.

POJO의 장점

  1. 간결하고 깔끔하게 코드를 작성할 수 있다.
  2. 간편하게 테스트를 할 수 있다.
    • 코드가 간결해져 디버깅이 상대적으로 쉬워진다.
    • 특정기술이나 환경에 종속적이지 않기 떄문에 테스트가 쉬워진다.
  3. 객체지향적인 설계를 자유롭게 적용할 수 있다.
간단 요약
1. 자바로만 이루어진 객체를 POJO라고 한다.
2. 객체지향적 원리를 잘 지키고, 특정환경에 종속되어선 안된다.

출처 및 참고
https://velog.io/@hiy7030/Spring-Spring%EC%9D%98-%ED%8A%B9%EC%A7%95-POJO
https://ittrue.tistory.com/211

profile
우왕좌왕 개발

0개의 댓글