더북(TheBook)

파이썬에서는 완벽한 정보 은닉이 불가능합니다. 하지만 유저 프로그래머의 실수를 막을 수 있는 방법은 제공합니다. 파이썬이 제공하는 방법은 두 가지입니다.

숨기려는 멤버 앞에 언더바( _ )를 두 개 붙이기

프로퍼티 기법

첫 번째 방법부터 알아보겠습니다. 코드 6-24처럼 balance 멤버를 모두 __balance로 바꾸면 됩니다.

class Account:
    def _ _init__(self, name, money):
        self.user = name
        self.__balance = money  #1

    def get_balance(self):
        return self.__balance   #2

    def set_balance(self, money):
        if money < 0:
            return
        self.__balance = money  #3

if __name__ = = "__main__":
    my_acnt = Account('greg', 5000)
    my_acnt.__balance = -3000   #4

    print(my_acnt.get_balance())

실행결과 5000

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.