클래스의 속성을 변화시킬 때 특정 동작을 실행하는 방법은 무엇인가요?
속성 접근자는 다음과 같이 get
과 set
키워드를 사용하여 정의할 수 있습니다.
class MyClass:
def __init__(self):
self._my_property = 0
@property
def my_property(self):
return self._my_property
@my_property.setter
def my_property(self, value):
self._my_property = value
# 특정 동작 실행
# 사용 예시
my_object = MyClass()
my_object.my_property = 10 # 속성 값 설정 시 특정 동작 실행됨
print(my_object.my_property) # 10 출력
위의 예시 코드에서 @property
데코레이터는 my_property
속성을 가져오는 동작을 정의하고, @my_property.setter
데코레이터는 my_property
속성을 설정하는 동작을 정의합니다. 이렇게 정의된 속성 접근자를 사용하면 속성 값을 가져오거나 설정할 때마다 특정 동작을 실행할 수 있습니다.
속성 접근자를 사용하면 클래스의 속성을 변화시킬 때 어떤 동작을 실행할 지 유연하게 정의할 수 있으므로, 코드의 가독성과 유지보수성을 높일 수 있습니다.
#python #클래스 #속성 #속성접근자