POJO 의 개념

2019. 5. 20. 11:31JAVA관련

Plain Old Java Object, 직역하자면 오래된 방식의 단순 자바 객체를 의미한다.

표현으로 이해하기는 헷갈린 부분이 많기 때문에, POJO의 경우 몇 가지 특징을 가진 자바 객체로 여긴다.

 

1. 인터페이스 구현을 강제하지 않는다.

 

2. 어노테이션 사용을 강제하지 않는다.

 

3. 클래스 상속을 강제하지 않는다.

 

위와 같은 특징을 가진 객체를 보통 POJO라고 부른다

기본적으로 자주 사용되는 POJO에 해당되는 객체 클래스는 흔히 말하는 DTO, Model, Form과 같은 데이터 클래스가 해당되는 경우가 많다.

 

public class SeqGen{

	private int seq;
	private int no;
	private String prefix;
	private String suffix;
    
    public SeqGen(){
    
    }
	
    public void setSeq(int seq){
    	this.seq = seq;
    }
    
    public int getSeq(){
    	return this.seq;
    }
    
    public void setNo(int no){
    	this.no = no;
    }
    
    public int getNo(){
    	return this.no;
    }
    
    public void setPrefix(String prefix){
    	this.prefix = prefix;
    }
    
    public String getPrefix(){
    	return this.prefix;
    }
    
    public void setSuffix(String suffix){
    	this.suffix = suffix;
    }
    
    public String getSuffix(){
    	return this.suffix;
    }
}

위 처럼 생성자, getter, setter 로 구성된 클래스를 보면, 상속과 인터페이스로부터 자유롭고, 어노테이션으로부터 역시 그렇다. 이러한 클래스를 종전에는 beans로 표현하였으나, beans라는 용어로 정의되는 개념들이 늘어나면서 혼란을 피하기 위해 POJO라는 용어를 사용한다고 보여진다.

 

POJO의 특정 규약에 종속되지 않고, 특정 환경에 종속되지 않으며, 단일 책임원칙을 지키는 클래스는 이러한 특성 때문에 테스트하기가 쉽고, 객체지향적 설계에 더 적합하며, 비즈니스 코드와 로우레벨 코드가 분리되어 코드 분석에 도움이 된다.

'JAVA관련' 카테고리의 다른 글

String, StringBuffer, StringBuilder, StringTokenizer  (0) 2019.05.22
Enum  (0) 2019.05.16