본문 바로가기
Spring

[Spring] POJO란? (Plain Old Java Object)

by jungha_k 2022. 10. 11.

POJO(Plain Old Java Object) 

 

PO - 플레인(순수한) : Java로 생성하는 순수한 객체

JO - Java Object : 객체지향 프로그래밍

 

 

POJO  프로그래밍 = POJO를 이용해서 프로그래밍 코드를 작성하는 것

 

코드의 유지/보수 및 특정 클래스 확장 용이좋은 객체지향 설계를 할 수 있도록!


POJO 프로그래밍의 기본적 규칙

1. Java, Java의 스펙에 정의된 것 이외에는 다른 기술, 규약에 얽매이지 X

 

특정 기술을 상속해서 코드 작성시

코드가 변경될 경우 일일히 하나씩 찾아서 변경해줘야 하기 때문!

+ extends 상속시에도 객체지향 설계 기법 적용하기 어려워짐

 

 

2. 특정 환경에 종속적이지 X

 

ex) Tomcat을 쓰는 상황에서 갑자기 Zetty로 변경?

코드 전면 수정 혹은 애플리케이션 모두 뜯어고쳐야 할 수도..

 


POJO 프로그래밍이 필요한 이유

  • 특정 환경이나 기술에 종속적이지 않으면 재사용 가능, 확장 가능한 유연한 코드를 작성할 수 있다.
  • 저수준 레벨의 기술과 환경에 종속적인 코드를 애플리케이션 코드에서 제거 --> 코드가 깔끔해진다.
  • 코드가 깔끔해지기 때문에 디버깅하기도 상대적으로 쉽다.
  • 특정 기술이나 환경에 종속적이지 않기 때문에 테스트 역시 단순해진다.
  • 객체지향적인 설계를 제한없이 적용할 수 있다.(가장 중요한 이유)

POJO 와 Spring Framework의 관계

 

"Spring은 POJO 프로그래밍을 지향하는 Framework"

 

 

POJO한 (다른 환경, 기술에 종속적이지 않도록) 코드를 작성하기 위해

Spring이 지원하는 세가지 기술 

IoC/DI , AOP, PSA 이다! 

 

댓글