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 이다!
'Spring' 카테고리의 다른 글
[Spring] 아키텍쳐(Architecture)란? / Spring Framework 모듈 구성 보기 (0) | 2022.10.12 |
---|---|
[Spring] PSA 란? (Portable Service Abstraction) (0) | 2022.10.12 |
[Spring] AOP란? (Aspect Oriented Programming) (0) | 2022.10.12 |
[Spring] IoC(Inversion of Control) / DI(Inversion of Control) 이란? (0) | 2022.10.12 |
[Spring] Spring Framework란? / Framework과 Library의 차이 (1) | 2022.10.11 |
댓글