JavaBean

 

Summry

본 문서에서는 JAVA Bean에 대해 정리한다.

send me email if you have any questions.


JavaBean

JavaBean

  • 자바로 작성된 객체이며 데이터 표현을 목적으로 한다.
  • JavaBean은 JavaBean API Specification에 따른 Standard이다.
  • 클래스이름은 CapitalCase로, 필드나 메서드 이름은 camelCase로 쓰라는 말을 많이 들어 봤을 것이다. 사실 클래스 이름을 Capital Case가 아닌 다른 형식을 사용해도 큰 문제는 없다. 하지만 개발자들 사이에서는 보통 이런 규칙을 지킨다. 이를 Standard라고 한다.

자바 빈즈 클래스는, Java Beans Convention 지키는 클래스이다.

  • 클래스는 인자(Argument)가 없는 기본 생성자(Default constructor)를 갖는다
  • 클래스의 멤버 변수는 프로퍼티(Properties)라고 하며 private 접근 제한자를 가져야 한다.
  • 클래스의 프로퍼티들은 Getter/Setter를 통해 접근할 수 있어야 한다
    • Getter의 이름은 get{프로퍼티 이름} 이며, Setter의 이름은 set{프로퍼티 이름}이다
    • Getter/setter의 접근 제한자는 public이어야 한다.
    • 프로퍼티의 타입이 Boolean인 경우 is로 시작할 수 있다
    • Getter의 경우 파라미터가 존재하지않아야 하며, setter의 경우 하나 이상의 파라미터가 존재한다
    • Read Only인 경우 Setter는 없을 수 있다.
  • Serializable 인터페이스를 구현한다.
  • 자바빈 클래스는 패키징 되어야 한다. (Package)

JavaBean example code

import java.io.Serializable;

public class SomeBean implements Serializable {
    private String beanName;
    private int beanValue;

    public SomeBean() {
        // no-argument constructor
    }

    public String getBeanName() {
        return beanName;
    }

    public void setBeanName(String beanName) {
        this.beanName = beanName;
    }

    public int getBeanValue() {
        return beanValue;
    }

    public void setBeanValue(int beanValue) {
        this.beanValue = beanValue;
    }
}

사용이유

  • Java Bean은 Builder Tool에서 시각적으로 조작할 수 있는 재사용 가능한 소프트웨어 컴포넌트이다. 즉, 서로 다른 Builder에서 편리하게 Java Class를 쓸 수 있도록 한다.

어디서나 공통의 Convention을 지키며 사용할 수 있는 것이고, 따라서 별도의 문서 없이 쉽고 일관된 방식으로 사용할 수 있음을 의미한다.

Reference

JavaBean이란? - 삐멜 소프트웨어 엔지니어
자바 빈(Java Bean)이란 무엇인가? (자바 빈 예제) - 경자 연구소
[Spring] Java Bean, Spring Bean - damiano1027
JavaBeans 정리 - dion