ν΄λμ€ νλΌμ΄λΉ(Private) λ³μ μ¬μ©λ²
ν΄λμ€μ νλΌμ΄λΉ λ³μ(Private Variables)λ κ°μ²΄μ μΊ‘μνμ μ 보 μλμ μν΄ μ¬μ©νλ μ€μν κ°λ μ λλ€.
νλΌμ΄λΉ λ³μλ ν΄λμ€ λ΄λΆμμλ§ μ κ·Ό κ°λ₯ν λ³μλ‘, ν΄λμ€ μΈλΆμμ μ§μ μ μΈ μ κ·Όμ΄ μ νλ©λλ€.
νμ΄μ¬μμλ λ³μ μ΄λ¦ μμ λλΈ μΈλμ€μ½μ΄(__
)λ₯Ό λΆμ¬ νλΌμ΄λΉ λ³μλ₯Ό λνλ
λλ€.
class MyClass: def __init__(self): self.__private_var = 10 # νλΌμ΄λΉ λ³μ def get_private_var(self): # νλΌμ΄λΉ λ³μ λ°ν λ©μλ return self.__private_var obj = MyClass() print(obj.get_private_var()) # 10 μΆλ ₯ # print(obj.__private_var) # μΈμ€ν΄μ€λ‘ μ§μ μ κ·Όνλ©΄ AttributeError λ°μ
νλΌμ΄λΉ λ³μμ νΉμ§
-
μΊ‘μν λ° μ 보 μλ
: ν΄λμ€ λ΄λΆμ ꡬν μΈλΆ μ¬νμ μ¨κΈ°κ³ , μΈλΆλ‘λΆν° λ°μ΄ν°λ₯Ό 보νΈν©λλ€. -
μνΈμμ© κ°μν
: μ¬μ©μκ° ν΄λμ€μ λ΄λΆ ꡬνμ μ νμ μμ΄, 곡κ°λ λ©μλλ₯Ό ν΅ν΄ μνΈμμ©νλλ‘ ν©λλ€.
class Account: def __init__(self, balance): self.__balance = balance # νλΌμ΄λΉ λ³μ def deposit(self, amount): if amount > 0: self.__balance += amount return f"μ κΈ μλ£: μμ‘ {self.__balance}μ" return "μ κΈ κΈμ‘μ΄ μ ν¨νμ§ μμ΅λλ€." def get_balance(self): return f"νμ¬ μμ‘: {self.__balance}μ" # ν΄λμ€ μ¬μ© μμ account = Account(10000) print(account.deposit(5000)) # 'μ κΈ μλ£: μμ‘ 15000μ' μΆλ ₯ print(account.get_balance()) # 'νμ¬ μμ‘: 15000μ' μΆλ ₯ # νλΌμ΄λΉ λ³μ μ§μ μ κ·Ό μλ (μ€λ₯ λ°μ) # print(account.__balance)
μ΄ μμ μμ __balance
λ Account ν΄λμ€μ νλΌμ΄λΉ λ³μμ
λλ€. ν΄λμ€ μΈλΆμμ __balance
μ μ§μ μ κ·Όνλ € νλ©΄ μ€λ₯κ° λ°μν©λλ€.
λμ deposit
κ³Ό get_balance
κ³΅κ° λ©μλλ₯Ό ν΅ν΄ __balance
λ³μμ κ°μ μμ νκ² νμ©ν μ μμ΅λλ€.
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Execution Result