먼저, @property가 무엇인지부터 알아보자.
보통 속성은 object.attribute 형식으로 접근하고, 메서드는 object.method() 형식으로 호출해.
@property)는 뭐야?@property는 속성처럼 보이지만 사실은 메서드인 경우에 사용해. 이걸 통해 속성처럼 보이는 메서드를 만들 수 있어. 왜 이런 걸 할까? 속성에 접근할 때마다 어떤 계산을 하거나, 특별한 처리를 하고 싶을 때 유용해.
@property
def Type(self):
return self._Type
여기서 Type은 속성처럼 보이지만, 사실은 메서드야. 그런데 이 메서드에 @property를 붙이면, 이제 이걸 속성처럼 사용할 수 있어.
Type이 메서드라면 object.Type()처럼 호출해야 해.@property를 붙이면, 이제 object.Type으로 속성처럼 사용할 수 있어. 마치 object.name이나 object.age처럼 말이야.# 사용 예시
obj = SomeClass()
print(obj.Type) # 마치 속성처럼 Type에 접근할 수 있어
여기서 print(obj.Type)를 호출하면, 사실은 Type이라는 메서드가 실행되고, 그 결과가 출력되는 거야.
@property는 속성처럼 보이지만, 사실은 메서드인 것.@property를 사용하면, 객체의 데이터를 읽는 것처럼 보이지만 실제로는 코드를 실행할 수 있어.