프로그래밍/python

OOP 5탄(Getter, Setter, Properties)

luke12 2022. 5. 15. 18:32

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

'프로그래밍 > python' 카테고리의 다른 글

Advanced Python(1) - List  (0) 2022.07.28
디스코드 출책 봇  (0) 2022.06.21
OOP 4탄(Encapsulation, abstraction)  (0) 2022.05.14
OOP 3탄 (Inheritance, polymorphism)  (0) 2022.05.13
OOP 2탄(Functions In Classes)  (0) 2022.05.12