POJO란?

dev-well-being·2023년 9월 14일
1

POJO

  • POJO란 Plain Old Java Object의 약자로, 이를 직역하면 순수한 오래된 자바 객체이다. Java로 생성하는 순수한 객체를 뜻한다.
  • POJO는 객체 지향적인 원리에 충실하면서 환경과 기술에 종속되지 않고, 필요에 따라 재활용될 수 있는 방식으로 설계된 오브젝트를 의미한다.

POJO 프로그래밍

  • 순수 자바 객체만을 사용한다고 해서 POJO 프로그래밍이라고 볼 수는 없다. 기본 규칙들을 지켜야 한다.
    • Java나 Java의 스펙에 정의된 것 이외에는 다른 기술이나 규약에 얽매이지 않아야 한다.
      • 아래 코드는 getter와 setter만 가지고 있는 코드의 예제이다.
      • 아래 코드는 Java에서 제공하는 기능만 사용하기 때문에 해당 클래스는 Java 언어 이외의 특정한 기술에 종속되어 있지 않는 순수한 객체이기 때문에 POJO라고 부를 수 있다.
public class User {
    private String userName;
    private String id;
    private String password;

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}
  • 특정 환경에 종속적이지 않아야 한다.
    • POJO 클래스는 웹 기반의 환경 정보나 웹 기술을 담고 있는 클래스 또는 인터페이스를 사용하면 안된다.
    • 이러한 이유는 웹 이외의 클라이언트는 해당 기능을 요청할 수 없기 때문이다.
    • Tomcat이 지원하는 API를 직접 가져다가 사용한다고 가정하자.
    • 시스템의 요구 사항이 변경되어 톰캣에서 Zetty라는 다른 서블릿 컨테이너를 사용하게 되면 Zetty로 수정해야 한다.
    • 따라서, Java 이외의 다른 기술에 얽매이지 않으며, 특정 환경에 종속적이지 않아야 POJO 프로그래밍이라고 할 수 있다.

POJO를 사용해야 하는 이유

  • 특정 환경이나 기술에 종속적이지 않으면 재사용이 가능하고, 확장 가능한 유연한 코드를 작성 가능

참고 자료

profile
안녕하세요!! 좋은 개발 문화를 위해 노력하는 dev-well-being 입니다.

0개의 댓글