Java
[자바] 자바 빈즈
미소여우
2022. 8. 29. 10:46
728x90
자바 빈즈란(Java Beans)
Builder Tool에서 시각적으로 조작할 수 있는 재사용 가능한, 자바로 작성된 소프트웨어 컴포넌트
- 현재 실행되고 있는 JVM 프로세스 내에서 실행되고 있는 인스턴스이며 이 중 어떤 인스턴스들은 필요에 따라 내가 호출하여 사용할 수 있음
- 자바로 작성한 자바 클래스 중에 바 빈즈 컨벤션(Java Beans Convention) 에 맞게 작성된 클래스를 JSP에서 사용 가능
EJB(Enterprise Java Beans)와는 다른 것
자바 빈즈 사용 목적
- JSP페이지의 로직 부분을 분리해서 코드를 재사용함으로 프로그램의 효율을 높임
- 프로그램의 모듈화(component)는 코드를 재사용하므로 프로그램의 작성 기간이 단축되고, 이미 실 시스템에 사용했던 코드를 사용하므로 코드의 안정성이 보장되며 유지 보수가 쉽다.
자바 빈즈 컨벤션(Java Beans Convention)
- 자바빈은 기본(default)패키지 이외의 특정 패키지에 속해 있어야 한다.
- 클래스는 인자(Argument)가 없는 기본 생성자(Default constructor)를 갖는다.
- 클래스의 멤버 변수는 프로퍼티(Properties)라고 하며 private 접근 제한자를 가져야 한다.
- 클래스의 프로퍼티들은 Getter/Setter를 통해 접근할 수 있어야 한다.
- Getter/setter의 접근 제한자는 public이어야 한다.
- Getter의 이름은 get{프로퍼티 이름} 이며, Setter의 이름은 set{프로퍼티 이름}이다
- Read Only인 경우 Setter는 없을 수 있다.
- Getter의 경우 파라미터가 존재하지 않아야 하며, setter의 경우 하나 이상의 파라미터가 존재한다.
- 프로퍼티의 타입이 Boolean인 경우 is로 시작할 수 있다.
자바 빈즈 예제
class Bird {
private String name;
private boolean fly;
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public boolean isFly() {
return this.fly;
}
public void setFly(boolean fly) {
this.fly = fly;
}
// 기본 생성자
public Bird() {}
}
그런데 위와 같이 필드가 많아지면 getter, setter의 양도 많아지게 된다. 이러면 코드가 많이 번잡해 보일 수도 있는데, 이를 편리하게 도와주는 도구인 롬복(lombok)을 사용하면 빌드 시 자동으로 생성해줄 수 있다. 롬복에 대해서는 나중에 정리해보도록 하겠다.
728x90