POJO Classes
- POJO(Plain Old Java Object) 는 자바 객채의 표준(ordinay)이며, Java Language Specification 에 의한 어떤 특정한 엄격한(restriction) 경계가 존재하지 않습니다.
- POJO 는 가독성과 재사용성을 중요시하게 사용됩니다.
- POJO 는 restriction 이 적은 만큼 쓰기도 쉽고 읽기도 쉽기때문에 많이 사용되어 왔습니다.
-
POJO 의 3가지 규칙이 존재합니다.
- Exend prespcified classes
- Implement prespecified interfaes
- Contain prespecified annotations
public class Animal {
String dog;
public String cat;
private int legs;
public Animal(String dog, String cat, int legs) {
this.dog = dog;
this.cat = cat;
this.legs = legs;
}
public getDog() {
return this.dog;
}
}
Beans Classes
- Beans 는 POJO 와 달리 엄격한(restriction) 규칙을 가지고 있습니다.
- 모든 JavaBeans는 POJOs 이지만 POJOs 는 JavaBeans 가 아닙니다.
- Fields 는 접근제어자가 private 이어야만 합니다.
- Fields 는 getter 와 setter 를 가져야 합니다.
- constructor 는 argument 를 가져서는 안됩니다.
- Fileds 는 getter 와 setter 로만 접근되어야만 합니다.
public class Animal {
private int legs;
Animal() {
}
public setLegs(int legs) {
this.legs = legs;
}
public getLegs() {
return legs;
}
}
POJO vs Java Bean
POJO | JAVA BEAN |
---|---|
Java laguage 에 의한 특별한 restrictions 이 없습니다. | POJO 보다 restrictions 합니다. |
Fields 에 대한 통제를 제공하지 않습니다. | Fields에 대한 통제를 가집니다. |
SErializable 에 대한 interface 를 구현할 수 있습니다. | Serializable 에 대한 interface 를 구현해야만 합니다. |
Fields 는 이름으로 접근할 수 있습니다. | Fields 는 getter 와 setter 로만 접근할 수 있습니다. |
Fields 에 대한 접근제어자 규칙이 자유롭습니다. | Fields 는 접근제어자를 private 로만 가질 수 있습니다. |
constructor 에 argument를 가질 수 있습니다. | constructor 에 argument를 가질 수 없습니다. |
member와 field에 대해 restriction 한 접근 규칙을 정하고 싶지 않을 때 사용됩니다. | member와 restriction 한 접근 규칙을 정하고자 할 때 사용됩니다. |
참고 : POJO vs Java Beans
'JAVA' 카테고리의 다른 글
[JAVA] Reflection 을 이용하여 Method 호출하기 (0) | 2020.01.08 |
---|---|
JAVA의 정석 - Thread (0) | 2019.01.13 |
JAVA의 정석 - Generics (0) | 2019.01.13 |
JAVA의 정석 - 열거형(enums) (0) | 2019.01.13 |