[Python응용] 4. private 멤버 사용

private 멤버변수의 정의와 활용

private 멤버 변수의 정의

private 멤버 변수의 특징

식별자

class BankAccount:
  __id = 0
  __name = ""
  __balance = 0
  def __init__(self, id, name, balance):
    self.__id = id
    self.__name = name
    self.__balance = balance
  def deposit(self, amount):
    self.__balance += amount
  def withdraw(self, amount):
    self.__balance -= amount
  def __str__(self):
    return "{0}, {1}, {2}".format(self.__id, self.__name, self.__balance)

# 인스턴스 객체를 생성
account1 = BankAccount(100, "전우치", 15000)
account1.withdraw(3000)
print(account1)
# 에러가 발생하는 코드(원래 내부 이름으로 접근하는 코드)
print(account1.__balance)
# 클래스 외부에서는 아래와 같이 접근
print(account1._BankAccount__balance)
account1._BankAccount__balance = 35000