1277870953.jpg

자바빈즈는 프로퍼티를 만든 후에 해당 프로퍼티의 get/set 메서드를 구현해야 합니다.

예를 들어 Persion 클래스에 name 프로퍼티가 있어야 한다면 

getName() / setName(String name) 메서드를 구현해야 합니다.


그루비에서는 당연히 만들어야 할 부분에 대해서는 자동 지원을 하므로 직접 구현하지 않아도 됩니다.


다음 예제를 보시죠.


class Person {
    def name
}

def p = new Person()

p.name = 'gilbird'
println p.name


p.setName('ckkang')
println p.getName()


Person 클래스의 경우 자바빈즈에서는 앞서 언급한 메서드를 구현해야 합니다.

하지만 그루비에서는 기본으로 지원을 하므로 프로퍼티 선언만 하면 됩니다.


결과
gilbird
ckkang


기존의 getXXX() / setXXX() 메서드들은 모두 위와 같이 액세스 가능합니다.
때문에 타이핑량이 줄어드는 것은 물론이거니와 가독성도 높이집니다.

그래서 그루비로 코딩하면 즐겁습니다~!! :)