ν΄λμ€μ μΈμ€ν΄μ€ μμ
μ΄λ² μμ
μμλ "μν κ³μ’"λ₯Ό μλ‘ λ€μ΄ ν΄λμ€(Class)
μ μΈμ€ν΄μ€(Instance)
(λλ κ°μ²΄)μ κ΄κ³λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
μλ μ½λλ 'BankAccount'
ν΄λμ€λ₯Ό μ μνκ³ , μ¬λ¬ κ³μ’ μΈμ€ν΄μ€λ₯Ό μμ±νμ¬ κ° κ³μ’μ κ³ μ ν μμ±κ³Ό λμμ κ΄λ¦¬νλ λ°©λ²μ 보μ¬μ€λλ€.
ν΄λμ€ μ€λͺ
BankAccount
ν΄λμ€λ μν κ³μ’λ₯Ό λνλ΄λ©°, λ€μκ³Ό κ°μ μμ±κ³Ό λ©μλλ₯Ό ν¬ν¨ν©λλ€.
-
μμ±:
owner
(μμ μ),balance
(μμ‘) -
λ©μλ:
deposit
(μ κΈ),withdraw
(μΆκΈ),display_balance
(μμ‘ μ‘°ν)
(__init__
)μ ν΄λμ€λ₯Ό λ°νμΌλ‘ κ³μ’ μΈμ€ν΄μ€κ° μμ±λ λ νΈμΆλλ μμ±μ λ©μλλ‘, κ³μ’ κ°μ²΄μ μμ μ(owner)μ μ΄κΈ° μμ‘(balance)μ μ€μ ν©λλ€.
μμ‘μ κΈ°λ³Έκ°μΌλ‘ 0
(balance=0)μ κ°μ΅λλ€.
class BankAccount: # μμ±μ λ©μλ def __init__(self, owner, balance=0): self.owner = owner self.balance = balance # μ κΈ λ©μλ def deposit(self, amount): self.balance += amount print(f"{amount}κ° μ κΈλμμ΅λλ€.") # μΆκΈ λ©μλ def withdraw(self, amount): if self.balance >= amount: self.balance -= amount print(f"{amount}κ° μΆκΈλμμ΅λλ€.") else: print("μμ‘μ΄ λΆμ‘±ν©λλ€.") # μμ‘ μ‘°ν λ©μλ def display_balance(self): print(f"κ³μ’ μμ‘: {self.balance}")
ν΄λμ€ μ¬μ© μμ
μλλ BankAccount
ν΄λμ€λ₯Ό μ¬μ©νμ¬ κ³μ’ μΈμ€ν΄μ€ account1
κ³Ό account2
λ₯Ό μμ±νκ³ , κ° κ³μ’μ λν΄ μ
κΈ, μΆκΈ, μμ‘ μ‘°νλ₯Ό μννλ μμ μ
λλ€.
# μΈμ€ν΄μ€ μμ± account1 = BankAccount("μ½λνλ μ¦", 1000) account2 = BankAccount("κΈ±νμ°μ€", 2000) # account1μ λν μ κΈ, μΆκΈ, μμ‘ μ‘°ν account1.deposit(500) # 500μ΄ μ κΈλμμ΅λλ€. account1.withdraw(200) # 200μ΄ μΆκΈλμμ΅λλ€. account1.display_balance() # κ³μ’ μμ‘: 1300 # account2μ λν μ κΈ, μΆκΈ, μμ‘ μ‘°ν account2.deposit(1000) # 1000μ΄ μ κΈλμμ΅λλ€. account2.withdraw(500) # 500μ΄ μΆκΈλμμ΅λλ€. account2.display_balance() # κ³μ’ μμ‘: 1500
κ° κ³μ’(account1
, account2
)λ BankAccount
ν΄λμ€μ μΈμ€ν΄μ€λ‘, λ
립μ μΈ μμ±(owner
, balance
)κ³Ό λ©μλ(deposit
, withdraw
, display_balance
)λ₯Ό κ°μ΅λλ€.
μ΄λ κ² ν΄λμ€λ₯Ό ν΅ν΄ μμ±λ μΈμ€ν΄μ€λ€μ κ°μμ λ°μ΄ν°λ₯Ό μ μ§νλ©°, λμΌν λ©μλλ₯Ό μ¬μ©νλλΌλ κ° μΈμ€ν΄μ€μ λ°λΌ λ€λ₯Έ κ²°κ³Όλ₯Ό λνλ λλ€.
μλ₯Ό λ€μ΄ account
κ³μ’μ display_balance
λ©μλλ₯Ό νΈμΆνλ©΄ μμ‘μΌλ‘ 1300
μ΄ μΆλ ₯λμ§λ§, account2
κ³μ’μ display_balance
λ©μλλ₯Ό νΈμΆνλ©΄ μμ‘μΌλ‘ 1500
μ΄ μΆλ ₯λ©λλ€.
self
ν€μλλ 무μμΈκ°μ?
νμ΄μ¬μμ self
λ ν΄λμ€μ λ©μλμμ νμ¬ μΈμ€ν΄μ€λ₯Ό μ°Έμ‘°νλ ν€μλμ
λλ€.
ν΄λμ€ λ΄μμ λ©μλλ₯Ό μ μν λ, 첫 λ²μ§Έ 맀κ°λ³μλ‘ self
λ₯Ό μ¬μ©νμ¬ νμ¬ μΈμ€ν΄μ€μ μ κ·Όν μ μμ΅λλ€.
self
μ£Όμ μν μ λ€μκ³Ό κ°μ΅λλ€.
-
μΈμ€ν΄μ€ μμ± μ κ·Ό:
self
λ₯Ό μ¬μ©νμ¬ ν΄λμ€ λ΄μ λ©μλμμ ν΄λΉ μΈμ€ν΄μ€μ μμ±μ μ κ·Όνκ³ μμ ν μ μμ΅λλ€. μλ₯Ό λ€μ΄,self.balance
λ νμ¬ μΈμ€ν΄μ€μbalance
μμ±μ μ°Έμ‘°ν©λλ€. -
λ©μλ νΈμΆ: κ°μ μΈμ€ν΄μ€ λ΄μμ λ€λ₯Έ λ©μλλ₯Ό νΈμΆν λ
self
λ₯Ό μ¬μ©ν©λλ€. μλ₯Ό λ€μ΄,self.deposit(amount)
λ κ°μ μΈμ€ν΄μ€ λ΄μdeposit
λ©μλλ₯Ό νΈμΆν©λλ€.
λΉμΉΈμ λ€μ΄κ° κ°μ₯ μ μ ν λ¨μ΄λ 무μμΌκΉμ?
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Execution Result