
1. POJO란?
POJO(Plain Old Java Object)는 특정한 Java 객체를 지칭하는 용어로, EJB(Enterprise JavaBeans)와 같은 무거운 프레임워크에 종속되지 않고, 순수한 Java 객체 형태를 유지하는 것을 의미합니다. 즉, 어떠한 라이브러리나 프레임워크에 의존하지 않는 단순한 Java 객체를 POJO라고 합니다.
2. POJO의 특징
POJO는 아래와 같은 특징을 가집니다.
- 순수한 Java 객체: 특정한 프레임워크나 기술에 종속되지 않음
- 캡슐화(encapsulation) 원칙 준수: 필드에 접근하기 위해 getter/setter 메서드를 사용
- 기본적인 Java 문법만 사용: 복잡한 어노테이션이나 XML 설정 불필요
- 재사용성과 테스트 용이성: 비즈니스 로직을 독립적으로 작성할 수 있어 유지보수 및 테스트가 쉬움
3. POJO의 예제
public class Person {
private String name;
private int age;
public Person() {}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
4. POJO와 JavaBeans의 차이점
POJO와 JavaBeans는 비슷하지만, JavaBeans는 몇 가지 추가적인 규칙을 따릅니다.
비교 항목 | POJO | JavaBeans |
프레임워크 종속성 | 없음 | 없음 |
기본 생성자 | 선택 사항 | 필수 |
getter/setter | 선택 사항 | 필수 |
Serializable 구현 | 선택 사항 | 선택 사항 |
JavaBeans는 기본 생성자를 반드시 가져야 하고, 모든 필드는 getter와 setter 메서드를 통해 접근해야 합니다. 반면, POJO는 이러한 강제 규칙이 없습니다.
5. POJO의 장점
POJO를 사용하면 다음과 같은 이점이 있습니다.
- 프레임워크 종속성 제거: 특정 기술 스택에 얽매이지 않고 자유롭게 개발 가능
- 코드의 간결성과 가독성 증가: 불필요한 설정이나 복잡한 어노테이션 없이 개발 가능
- 테스트 용이성: 독립적인 단위 테스트 작성 가능
- 유지보수 용이: 특정 기술이 변경되더라도 POJO는 그대로 유지 가능
6. POJO의 활용
POJO는 다양한 곳에서 활용됩니다.
- DTO(Data Transfer Object): 계층 간 데이터 전송을 위한 객체
- Entity 클래스: JPA/Hibernate에서 데이터베이스 테이블과 매핑되는 객체
- VO(Value Object): 불변 객체(Immutable Object)로 사용됨
- 서비스 로직을 포함하는 일반적인 객체

POJO는 순수한 Java 객체로, 불필요한 종속성을 제거하고 코드의 유연성과 유지보수성을 높이는 데 중요한 역할을 합니다.

'Back_End > Java' 카테고리의 다른 글
자바(Java) 스트림(Stream) 이란? (1) | 2025.02.13 |
---|---|
자바의 람다식(Lambda Expression) (0) | 2025.02.12 |
자바(Java)에서 스레드를 구현하는 방법 (3) | 2025.02.03 |
RuntimeException과 Exception의 차이점 (2) | 2025.01.15 |
자바(JAVA) 컴파일 과정 (0) | 2025.01.10 |