Java Beans은 여러 객체들을 하나의 객체에 캡슐화한 클래스들을 의미한다.
Java Beans Pattern과 연관이 있다.
Java Beans Pattern은 매개변수가 없는 생성자로 객체를 만든 후 setter 메서드를 호출해 매개변수의 값을 설정하는 방식이다.
객체가 완전히 생성되기 전까지는 일관성이 무너진 상태에 놓이게 된다는 문제점이 있다.
Java Bean rules
- Must implement
Serializable
. (Serializable을 반드시 구현해야 한다.) - Should have a public
no-arg constructor
. (매개변수를 갖지 않는 public 생성자를 가져야 한다.) - All properties in java bean must be
private
withpublic getters and setters
. (java bean의 모든 property들은 반드시 private여야 하고 public getter / setter를 가져야 한다.)
setter rules
- public
- return type : void
- setter method의 이름은 set이라는 접두사를 가져야 한다.
- argument를 하나이상 가져야 한다.
getter rules
- public
- return type : ≠ void
- getter method의 이름은 get이라는 접두사를 가져야 한다.
- No argument
getter 메서드에서 Boolean property는 get / is 두개의 접두사를 가질 수 있다. is prefix를 추천한다.
Why Java Bean?
DRY (Don’t Repeat Yourself) 법칙
Java Bean은 Java application 전체에서 재사용가능한 소프트웨어 컴포넌트다.
Java는 OOP 언어이다.
OOP의 핵심 개념중 하나는 encapsulation이다.
JavaBean은 여러 객체들을 하나의 객체에 캡슐화한다.