스프링 POJO(Plain Old Java Object)

제로코딩

·

2022. 6. 29. 12:15

반응형

스프링의 특징 POJO(Plain Old Java Object)

POJO 방식의 프레임워크 

 

 

⚡️ POJO(Plain Old Java Object)란

 

POJO는 특정 '기술'에 종속되어 동작하는 것이 아닌 순수한 자바 객체를 말하는 것입니다.

 

즉, 다른 클래스나 인터페이스를 상속이나 구현을 받아 메서드가 추가된 클래스가 아닌 일반적으로 getter, setter 같이 기본적인 기능만 가진 자바 객체

 

POJO 객체

public class User {
    private int id;
    private String name;
    
    public int getId() {
     return id;
    }

    public String getName() {
     return name;
    }
    
    public void setId(int id) {
     this.id = id;
    }
    public void setName(String name) {
     this.name = name;
    }
}

 


ORM 기술을 사용하고 싶었다면, ORM을 지원하는 ORM 프레임워크를 사용해야 합니다(대표적으로 Hibernate Framework). 

만약 자바 객체가 ORM 기술을 사용하기 위해서 하이버네이트 프레임워크(Hibernate Framework)를 직접 의존한다면, 그것은 POJO라고 할 수 없습니다. 특정 '기술'에 종속되었기 때문입니다.

 

 

 

 

 

📌 POJO 사용 이유

- 깔끔한 코드

 

- 객체지향적인 설계를 자유롭게 적용
객체지향 프로그램은 엔터프라이즈 시스템에서와 같이 복잡한 도메인을 가진 곳에서 효과적입니다.

 

- 객체지향 언어를 대표하는 자바(Java)의 객체지향 설계의 장점을 살릴 수 있습니다.

즉, 특정 기술과 환경에 종속되어 의존하지 않게 되어 가독성이 높아지고 유지보수가 쉬워집니다.

 

POJO는 환경에 독립적입니다. 특히 비지니스 로직을 담고 있는 POJO 클래스는 특수한 환경 정보나 웹 기술을 담고 있는 클래스나 인터페이스를 사용해서는 안됩니다. 웹 컨트롤러와 연결되서 사용될 것이 분명하더라도 직접적으로 웹이라는 환경으로 제한해버리는 오브젝트나 API에 의존해서 짜면 웹 외의 클라이언트가 사용하지 못하기 때문이다.

 

 

 

📌 POJO 사용 예시

 

ORM이라는 기술을 사용하기 위해서 'JPA'라는 표준 인터페이스 (POJO) 를 정해두었습니다. 그리고 이제 여러 ORM 프레임워크들은 이 JPA라는 표준 인터페이스 아래, 구현되어 실행됩니다.


해당 방법으로 스프링이 새로운 엔터프라이즈 기술을 도입 하면서도 POJO를 유지할 수 있습니다.

 

반응형