공부중에 POJO 라는 개념을 스프링에서 이러한 개념으로 구현 했다는 글을 본적이 있지만 공부 하는 겸 글을 작성해본다.
1. POJO ( Plain Old Java Object )
- 특별한 요구사항 없이 순수 자바 객체로 작성한 클래스이고 복잡한 상속이나 인터페이스 없는 단순한 객체를 뜻한다.
public class Person {
private String name;
private int age;
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;
}
}
2. JavaBean
JavaBean은 POJO의 일종이지만, 특정 규칙을 따라야 하는 객체입니다. JavaBean의 규칙은 주로 자바빈이라는 규약을 따르는 데 중점을 둡니다.
1. 규칙은 모든 맴버변수에 private 를 가져야 하고 외부에서 직접 접근하지 않고 getter setter을 통해 접근을 가능하게 해야된다.
2. 생성자는 파라미터가 없는 기본 생성자가 필요 하다.
3. 주로 DTO로 많이 사용된다.
public class ProductBean {
private String name;
private double price;
public ProductBean() {} // 기본 생성자
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
}
결론 :
제 생각엔 POJO란 간단하고 가벼운 구조의 자바 객체로 코드의 복잡성을 줄이는곳에 초점을 두고
JavaBean은 POJO +@ 로 명확한 규칙에 따르는 데이터 전송 규격이라고 생각이 됩니다.
'Java' 카테고리의 다른 글
| 자바 리플렉션(reflection)에 대해서 찾아보기 (2) | 2024.11.08 |
|---|---|
| 공변과 반공변에 대해 (0) | 2024.11.05 |
| ArrayList의 자동 크기 증가 (0) | 2024.10.31 |
| 부동소수점에서 엡실론 (1) | 2024.10.31 |
| 오토 박싱 & 오토 언박싱 (1) | 2024.10.30 |