파이썬에서는 완벽한 정보 은닉이 불가능합니다. 하지만 유저 프로그래머의 실수를 막을 수 있는 방법은 제공합니다. 파이썬이 제공하는 방법은 두 가지입니다.
• 숨기려는 멤버 앞에 언더바( _ )를 두 개 붙이기
• 프로퍼티 기법
첫 번째 방법부터 알아보겠습니다. 코드 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