POJO (Plain Old Java Object)

Yoon·2023년 1월 25일
0

java

목록 보기
7/8

POJO

Plain Old Java Object, 간단히 POJO는 말 그대로 해석을 하면 오래된 방식의 간단한 자바 오브젝트라는 말로서 Java EE 등의 중량 프레임워크들을 사용하게 되면서 해당 프레임워크에 종속된 "무거운" 객체를 만들게 된 것에 반발해서 사용되게 된 용어이다.

POJO라는 용어는 이후에 주로 특정 자바모델이나 기능, 프레임워크 등을 따르지 않은 자바 오브젝트를 지칭하는 말로 사용되었다. 스프링 프레임워크는 POJO 방식의 프레임 워크이다.

POJO란 특정 기술에 종속되지 않는 순수한 자바 객체를 의미한다.

특정 기술을 사용하기 위해 특정 프레임워크를 의존하게되면 그것은 POJO라고 할 수 없다. 특정 기술에 종속 되어있기 때문


예)

public class UserDTO {
	private String userName;
	private String userId;
	private String userPassword;
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getUserId() {
		return userId;
	}
	public void setUserId(String userId) {
		this.userId = userId;
	}
	public String getUserPassword() {
		return userPassword;
	}
	public void setUserPassword(String userPassword) {
		this.userPassword = userPassword;
	}	
}

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


반대예)

public class WinExam extends WindowAdapter {
	@Override
	public void windowClosing(WindowEvent e) {
		System.exit(0);
	}
}

이처럼 Window의 기능을 사용하기 위해 WindowAdapter 클래스를 상속받을 것을 볼 수 있다.
이렇게 되면 다른 솔루션을 사용하고자 할 때 많은 양의 코드를 리팩토링 해야하는 문제가 있다.

이처럼 특정 기술과 환경에 종속되어 의존하게 된면, 코드 가독성 뿐만아니라 유지보수, 확장성에도 어려움이 생긴다.
이러한 객체지향의 장점을 잃어버린 자바를 되살리기 위해 POJO라는 개념이 등장한 것이다.

profile
나의 공부 일기

0개의 댓글