Next-Squad/Interview-Question

[Spring] 16. POJO란 무엇인가요? Spring Framework에서 POJO는 무엇이 될 수 있을까요?

naneun opened this issue · 1 comments

16. POJO란 무엇인가요? Spring Framework에서 POJO는 무엇이 될 수 있을까요?

키워드

IoC/DI, AOP, PSA

POJO 프로그래밍이란?

  • POJO (Plain Old Java Object) 에 어플리케이션의 핵심 로직과 기능을 담아 개발하는 방법

POJO 란?

  • 객체지향적인 원리에 충실하면서, 환경과 기술에 종속되지 않고 필요에 따라 재활용될 수 있는 방식으로 설계된 오브젝트

POJO 의 조건

  • 특정 규약 및 환경에 종속되지 않는다. 즉, 자바 언어와 꼭 필요한 API 외에는 종속되지 않아야한다.
    -> 유연하게 원하는 레벨에서 코드를 빠르고 명확하게 테스트할 수 있다.
  • 이로써, 객체지향 설계의 자유로운 적용이 가능한 오브젝트여야만 한다.
  • 이러한 자바의 단순한 오브젝트를 이용해 어플리케이션의 비즈니스 로직을 구현해야한다.

스프링이 지향하는 기술적 목적

  • 보안, 트랜잭션과 같은 엔터프라이즈 서비스 기능과 POJO 라는 어플리케이션 로직을 담은 코드를 분리하는 것
  • 스프링의 주요 기술인 IoC/DI, AOP, PSA (Portable Service Abstraction) 은 어플리케이션을 POJO 로 개발할 수 있게 해준다.