JAVA

자바빈 규약

집돌이디벨로퍼 2024. 12. 9. 11:03

 

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 [코끼리를 냉장고에 넣는 방법:티스토리]