http://meonggae.blogspot.kr/2016/11/python-getter-setter-property-setter.html 필자가 전에 한번 getter와 setter에 관련되서 글을 쓴 적이 있다. 이때 getter와 setter함수를 구현하지 말고 @property를 이용해서 구현을 하라고 했다 하지만 코드를 작성하다보면 @property가 복잡해지는 경우가 발생을 할 것이다. 이럴떄는 descriptor를 사용을 하여 코드를 좀더 깔끔하게 할 수 있다. class test: @property def t(self): return self._t @t.setter def t(self, value): print('setter 작동') self._t = 10 a = test() a.t = 10 property를 이용하여 코드를 작성을 할 수 있습니다. property를 이용하영 외부에서 _t를 접근 할 수 있도록 하였습니다. $ python3 app.py setter 작동 외부에서 t를 접근 할 때 정상적으로 t()가 실행 됬음을 확인 할 수 있습니다. 그런데 이는 외부 뿐 아니라 내부에서 접근을 할 때에도 실행이 됩니다. class test: def __init__(self): self.t = 1 @property def t(self): return self._t @t.setter def t(self, value): print('setter 작동') self._t = 10 a = test() a.t = 10 해당 코드를 실행을 시켜봅시다. $ python3 app.py setter작동 setter작동 t()가 두번 실행됬습니다. test()에서 __init__이 호출이 되면서 내부적으로 self...