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

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

    프로퍼티 기법

    첫 번째 방법부터 알아보겠습니다. 코드 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

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