자바빈 규약
1. 자바는 기본 패키지가 아닌 특정 패키지에 속해있어야 한다
ex)
package com.test.project1;
public class JavaBean {
}
package 가 없으면 안됨
2. 매개변수가 없는 기본 생성자가 존재해야한다
package com.test.project1;
public class JavaBean {
public JavaBean (){
}
}
3. 멤버변수 접근 제어자는 private로 생성되어야 한다.
package com.test.project1;
public class JavaBean {
private String javaProperty;
public JavaBean(){
}
}
4. 멤버 변수에 접근 가능한 getter,setter 메서드가 존재해야한다
5. get,set 메서드는 public 으로 선언되어있어야 한다.
package com.test.project1;
public class JavaBean {
private String javaBeanElement;
public JavaBean(){
}
public String getJavaBeanElement(){
return javaBeanElement;
}
public void String setJavaBeanElement(String javaBeanElement){
return this.javaBeanElement = javaBeanElement;
}
}
추가) 멤버 변수가 배열일 경우 세팅
package com.test.project1;
public class JavaBean {
private String[] javaBeanElement;
public JavaBean(){
}
public String[] getJavaBeanElement()
return javaBeanElement;
public void setJavaBeanElement(String[] javaBeanElement)
return this.javaBeanElement = javaBeanElement;
}
package com.myapp.bean;
public class BeanSample {
private String[] beanProperty;
public BeanSample(){}
public String getBeanProperty(int index) {
return beanProperty[index];
}
public void setBeanProperty(String beanProperty, int index) {
this.beanProperty[index] = beanProperty;
}
}
this.beanProperty[index] 부분 이해가 안되서 정리
=> setBeanProperty 에서 매개변수 beanProperty 랑 index 두가지 받아서 필드에 이미 선언되있는 private String[] beanProperty를 this로 받아와서 beanProperty[index]로 설정해서 새로운 배열로 만든것이다.
6. 직렬화 되어있어야 한다.
package com.myapp.bean;
import java.io.Serializable;
public class BeanSample implements Serializable {
private static final long serialVersionUID = 1679166037496682065L;
private String beanProperty;
public BeanSample(){}
public String getBeanProperty() {
return beanProperty;
}
public void setBeanProperty(String beanProperty) {
this.beanProperty = beanProperty;
}
}
객체를 입출력에 사용할 수 있도록 객체의 멤버들을 바이트 형태로 변환 시키는 것
java.io.Serializable 인터페이스를 상속하여 직렬화가 가능하다
[마샬링 : 객체를 바이트 스트림으로 변환하는 마샬링(marshalling)은 객체의 상태(데이터)를 직렬화(serialize)하여 바이트 스트림 형태로 만들고, 이를 파일이나 네트워크를 통해 전송하거나 저장하는 과정이다.]
[바이트 스트림 : 바이트 스트림(byte stream)은 데이터를 1바이트 단위로 처리하는 스트림을 말한다. 컴퓨터 시스템에서 데이터를 전송하거나 저장할 때, 데이터를 바이트 단위로 다루는 방식이다.]
출처: https://dololak.tistory.com/133 [코끼리를 냉장고에 넣는 방법:티스토리]