■ 파이썬의 정보 은닉
파이썬은 기본적으로 정보 은닉을 지원하지 않습니다. 코드 6-21의 info_hiding.cpp 코드를 파이썬 코드로 변경해 보겠습니다.
코드 6-23 oop1/oop1_2/info_hiding_1.py
class Account: def _ _init__(self, name, money): self.user = name self.balance = money def get_balance(self): return self.balance def set_balance(self, money): if money < 0: return self.balance = money if __name__ = = "__main__": my_acnt = Account('greg', 5000) my_acnt.balance = -3000 #1 print(my_acnt.get_balance())
실행결과 -3000
my_acnt.balance = -3000과 같이 코드 6-21에서는 접근할 수 없었던 balance 멤버에 접근해 음수로 값을 바꾸었습니다(#1). 실행하면 -3000이 출력됩니다. 정보 은닉이 되지 않은 것을 알 수 있습니다.