자바 빈즈(Java Beans)란?

ImOk·2021년 12월 14일
2

👩‍💻 웹 개발

목록 보기
10/14
post-thumbnail

자바 빈즈(Java Beans)

  • Builder Tool에서 시각적으로 조작할 수 있는 재사용 가능한, 자바로 작성된 소프트웨어 컴포넌트
  • 현재 실행되고 있는 JVM 프로세스 내에서 실행되고 있는 인스턴스이며 이 중 어떤 인스턴스들은 필요에 따라 내가 호출하여 사용할 수 있음
  • 자바로 작성한 자바 클래스 중에 바 빈즈 컨벤션(Java Beans Convention) 에 맞게 작성된 클래스를 JSP에서 사용 가능
  • EJB(Enterprise Java Beans)와는 다른 것

자바 빈즈 사용 목적

  • JSP페이지의 로직 부분을 분리해서 코드를 재사용함으로 프로그램의 효율을 높임
  • 프로그램의 모듈화(component)는 코드를 재사용하므로 프로그램의 작성 기간이 단축되고, 이미 실 시스템에 사용했던 코드를 사용하므로 코드의 안정성이 보장되며 유지 보수가 쉽다.

자바 빈즈 컨벤션(Java Beans Convention)

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

자바 빈즈 예제

class PersonBean implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private String name;
	private boolean coding;

	// 기본 생성자
	public PersonBean() {}

	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public boolean isCoding() {
		return this.coding;
	}

	public void setCoding(boolean coding) {
		this.coding = coding;
	}
}

public class TestPersonBean {
	public static void main(String[] args) {

		PersonBean person = new PersonBean();
		person.setName("Bob");
		person.setCoding(true);

		System.out.print(person.getName());
		System.out.println(person.isCoding() ? " [coding]" : ""); //Bob [coding]
	}
}

🔗 참고자료

https://hbase.tistory.com/161

profile
ImOk👌

1개의 댓글

comment-user-thumbnail
2022년 3월 24일

잘 읽었습니다 :)

답글 달기