getter와 setter을 좀더 파이썬적으로 작성하는 방법이 있다. @을 사용하면 같은 이름으로 getter과 setter을 사용할 수 있다.
class SoftwareEngineer:
def __init__(self):
self._salary = None
#getter
@property
def salary(self):
return self._salary
#setter
@salary.setter
def salary(self, value):
self._salary = value
se = SoftwareEngineer()
se.salary = 6000
print(se.salary)
추가적으로 삭제하는 @를 만든다. 그러면 자료를 설정, 가져오기, 삭제 모두 할 수 있다.
class SoftwareEngineer:
def __init__(self):
self._salary = None
#getter
@property
def salary(self):
return self._salary
#setter
@salary.setter
def salary(self, value):
self._salary = value
@salary.deleter
def salary(self):
del self._salary
se = SoftwareEngineer()
se.salary = 6000
print(se.salary)
del se.salary