4.5.5 자바빈
많은 객체 지향 프로그래밍 언어에서 프로퍼티(property)를 지원하며, 해당 프로퍼티를 읽는지 쓰는지에 따라 표현식 object.propertyName을 게터(getter)나 세터(setter) 메서드 호출로 매핑한다. 자바에는 이런 문법이 없지만 프로퍼티가 게터/세터 쌍에 대응하는 규약이 있다. 자바빈(JavaBean)은 인수 없는 생성자, 게터/세터 쌍, 기타 메서드로 구성된 클래스를 의미한다.
게터와 세터는 반드시 정해진 패턴을 따라야 한다.
public Type getProperty()
public void setProperty(Type newValue)
게터나 세터를 생략해서 쓰기 전용이나 읽기 전용 프로퍼티를 만들 수 있다.
프로퍼티 이름은 get/set 다음에 오는 접미어를 소문자로 바꾼 형태다. 예를 들어 getSalary/setSalary 쌍은 salary라는 프로퍼티를 만들어 낸다. 하지만 접미어의 처음 두 글자가 대문자라면 해당 접미어 그대로 프로퍼티를 만든다. 예를 들어 getURL은 URL이라는 읽기 전용 프로퍼티를 만들어 낸다.
Note ≣
불 프로퍼티는 게터로 getPropertyName이나 isPropertyName을 사용할 수 있지만, 후자 방식을 주로 쓴다.