파이썬의 정보 은닉

    파이썬은 기본적으로 정보 은닉을 지원하지 않습니다. 코드 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이 출력됩니다. 정보 은닉이 되지 않은 것을 알 수 있습니다.

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