파이썬 클래스에서 속성이나 메소드를 prviate하게 하고 싶을 때,
속성이름이나 메소드 이름 앞에 언더바 두개를 연달아 붙인다
class Person:
def __init__(self, name, age, address, wallet):
self.name = name
self.age = age
self.address = address
self.__wallet = wallet # 변수 앞에 __를 붙여서 비공개 속성으로 만듦
def pay(self, amount):
self.__wallet -= amount # 비공개 속성은 클래스 안의 메서드에서만 접근할 수 있음
print('이제 {0}원 남았네요.'.format(self.__wallet))
class GameCharcter:
def __init__(self, name, age):
self.name = name
self.age = age
self.__power = 1000
def __out_power(self, amount):
self.__power -= amount
def __in_power(self, amount):
self.__power += amount
def play_skill(self, amount):
self.__out_power(amount)