728x90
반응형
Spring의 본질은 엔터프라이즈 서비스 기능을 POJO에 제공하는 것이다.

 

POJO란?

Plain Old Java Object (평범한 옛날 자바 객체)

POJO를 이해하기 위해서는 POJO가 아닌 클래스가 무엇인지 생각해 보면 된다.

대표적으로 Servlet 클래스는 POJO가 아니다.

Servlet 클래스는 마음대로 만들거나 수정이 불가하며, 반드시 정해진 규칙에 맞게 클래스를 구현해야 실행이 가능하다.

 


 

POJO 예시

 

public class SampleVO extends SampleDefaultVO {

	private static final long serialVersionUID = 1L;

	/** 아이디 */
	private String id;

	/** 이름 */
	private String name;

	/** 내용 */
	private String description;

	/** 사용여부 */
	private String useYn;

	/** 등록자 */
	private String regUser;

	public String getId() {
		return id;
	}

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

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public String getUseYn() {
		return useYn;
	}

	public void setUseYn(String useYn) {
		this.useYn = useYn;
	}

	public String getRegUser() {
		return regUser;
	}

	public void setRegUser(String regUser) {
		this.regUser = regUser;
	}

}

위 코드에서는 기본적인 자바 기능인 Getter, Setter 기능만 가지고 있기 때문에 특정 기술에 종속되어 있지 않은 순수 자바 객체이므로 POJO라고 할 수 있다.


 

POJO 특징 및 장점

1. POJO로 만든 클래스는 부모 클래스가 없거나, 수정이 가능해야한다.

    - 특정 환경이나 기술에 종속되지 않고 재사용과 확장이 용이이다.

 

2. 경량 (메모리 사용량 낮음)

    - POJO를 관리하는 것은 기존의 EJB 객체를 관리하는 것보다 메모리를 적게 사용

 

3. 객체지향적인 설계를 제한 없이 적용 가능

728x90
반응형