본문 바로가기

Web Sever 개발과 CS 기초/자바

JavaBean 요구 조건과 Property

JavaBean이란, JavaBean 규격서 조건을 충족한 자바 클래스이다. JavaBean이 충족되려면, 먼저 파라미터가 없는 생성자가 반드시 있어야 한다. 그리고 클래스 외부에서 필드에 접근할 때는 반드시 메소드를 통해서 접근해야 하며, get, set 메소드를 사용한다.

이런 메소드를 통해서 관리되는 데이터를 Property라고 한다. get, set메소드에서 get, set 다음에 오는 이름을 Property이름으로 취급한다.

→ Java외에 다른 언어에서는 언어와 VM레벨에서 Property를 제공한다. Java는 Property 언어 레벨에서 제공하지 않고, get, set 메소드를 사용하는 필드를 Property로 사용한다는 JavaBean 규격만 제공했다.

→ 스프링에서는 완화된 JavaBean 규격을 허용한다. 파라미터가 없는 생성자가 없어도 된다. 

 

아래 예시에서는 name데이터가 Property인 것이다.

public class JavaBean {
    private String name; 
       
    public JavaBean(){ 
    }         
    public void setName(String name){ 
        this.name = name; 
    } 
    public String getName(){ 
        return name; 
    } 
}

추가 요구 조건

  • 모든 변수는 private으로 설정되어 있어야 한다.
  • bean 클래스는 직렬화가 가능해야 한다.(Serializable)

직렬화란,

객체를 바이트 단위로 변환하여, 스트림(송수신) 가능하도록 하게 만드는 것이다. 클래스가 직렬화가 가능하려면, java.io.Serializable 인터페이스를 구현해야 한다.


Reference

https://stackoverflow.com/questions/3295496/what-is-a-javabean-exactly

https://medium.com/@lunay0ung/basics-직렬화-serialization-란-feat-java-2f3eb11e9a8