Programming/Java

[Java] 자바빈(JavaBean)에서 프로퍼티(property)와 필드(field)의 차이점?

joah.k 2021. 2. 18. 03:26
728x90

- 바빈 (JavaBean) 이란? 자바로 작성된 클래스(class)들을 일반적으로 말한다.

 

- 객체지향 언어인 자바에서 객체는 고유한 속성(특징)을 가지는데, 그 속성을 칭하는 단어를 프로퍼티(property)라고 한다.그리고 이 속성의 진짜 모습, 즉 '실체'를 담는 곳이 필드(field, 멤버변수)이다. 

 

- 프로퍼티는 useBean의 대상이 되는 객체의 set 메서드와 get 메서드로 jsp에서 호출할 때는 set과 get은 빼고,

 나머지 메서드명을 소문자로 만들어 지칭한다. 일반적으로 접근 제어자는 public을 사용하여 접근해 사용 가능하다. 
   필드의 경우 useBean의 대상이 되는 클래스의 class변수/ 상수를 의미하고 일반적으로 접근제어자가 private 이기에 직접적인 접근을 할 수 없다. 

 

- 예를 들어 다음과 같은 Bean 이 있다고 하자. (Person class) 
Person은 name, age, loc 의 속성을 가지고 있는 객체이고,
자바빈 정의에 의해 getter(), setter() 메서드로 실제의 값(field)에 접근할 수 있다. 

(ex) name=김진수, age=22, loc=서울
     =>  property 는 name, age, loc 이고 , field는 김진수, 22, 서울   이 된다!

public class Person {
	private String name;
	private int age;
	private String loc;
	
	public Person(String name, int age, String loc) {
		super();
		this.name = name;
		this.age = age;
		this.loc = loc;
	}
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getLoc() {
		return loc;
	}
	public void setLoc(String loc) {
		this.loc = loc;
	}
}

 

728x90