ⓟrogramming/Python

[Python] property - 데코레이터 이용

뚱땡이 우주인 2016. 10. 12. 14:31

Python에서는 내부 속성(private, protected)을 접근하기 위해서 property 라는것을 제공한다.


일단 문법을 살펴보면,


@property

@method_name.setter


@를 파이선에서는 데코레이터라고 부른다... (자바에서는 어노테이션이라고 불림)


@property 는 getter를 위한 데코레이터이고

@method_name.setter 는 setter를 위한 데코레이터 이다.




위 예제를 보면 분명 Car 객체에는 color,speed,price 속성이 없는데 정상적으로 set/get이 동작하는 것을 볼 수 있다.

이처럼 데코레이터를 이용하여 private/public 속성값을 저장하거나 읽을 수 있다.