Spring 특징 - POJO

김용빈·2022년 7월 25일
0

스프링(Spring)을 공부 중 POJO(Plain Old Java Object)라는 용어를 자주 보게 된다. 그럴떄마다 포조..? 이게 무슨말이지 중요한건가? 라는 의문점을 갖게된다.
이러한 의문점을 쉽게 해결해보겠습니당~

‘PO’는 Java로 생성하는 순수한 객체를 의미


public class Pojo {

    private String pojoName;
    private int pojoNumber;

    public String getPojoName() {
        return pojoName;
    }

    public void setPojoName(String pojoName) {
        this.pojoName = pojoName;
    }

    public int getPojoNumber() {
        return pojoNumber;
    }

    public void setPojoNumber(int pojoNumber) {
        this.pojoNumber = pojoNumber;
    }
}

이렇게 순수하게 setter, getter의 메서드로 만들어진 객체들
이 객체들이 바로 POJO!

POJO의 조건
1. 특정 규약에 종속되지 않는다.

단일 상속 제한 때문에 객체지향적인 설계기법 적용하기 어려워짐
다른 환경으로의 이전이 어려움

  1. 특정 환경에 종속되지 않는다.
    예를 들어 웹환경에 종속되는 HttpServletRequest나 HttpSession와 관련된 API를 직접 이용해서는 안된다.
    다른 환경에서 사용하기 어려움 ,비즈니스 로직과 기술적인 내용을 담은 웹정보 코드가 섞여 이해하기 어려워짐
    웹서버에 올리지 않고 독립적으로 테스트하기 어려워짐

  2. 단일 책임 원칙을 지키는 클래스
    단순히 1,2번을 지켰다고 POJO라 할 수 없다. 책임과 역할이 각기 다른 코드를 하나의 클래스에 넣는 경우 진정한 POJO라 할 수 없다.

즉, POJO란 객체지향적인 원리에 충실하면서, 특정 환경과 규약에 종속되지 않아 필요에 따라 재사용될 수 있는 방식으로 설계된 오브젝트라 할 수 있다.

POJO 프로그래밍이 필요한 이유
특정 환경이나 기술에 종속적이지 않으면 재사용 가능하고, 확장 가능한 유연한 코드를 작성하게 만드는 객체지향 설계를 쉽게 적용할 수 있기떄문!


POJO와 Spring의 관계

Spring은 POJO 프로그래밍을 지향하는 Framework이다.

그리고 최대한 다른 환경이나 기술에 종속적이지 않도록 하기 위한 POJO 프로그래밍 코드를 작성하기 위해서 Spring에서는 세가지 기술을 지원

profile
안녕하세요!

0개의 댓글