κ°μ²΄μ μ μ°μ±μ λΆμ¬νλ λ€νμ±
λ€νμ±(Polymorphism)μ κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ ν΅μ¬ κ°λ μ€ νλλ‘, 'νλμ λ©μλλ ν΄λμ€κ° λ€μν λ°©μμΌλ‘ μλνλ λ₯λ ₯'μ μλ―Έν©λλ€.
λ€νμ± μ¬μ© μμ
μλλ λ€νμ±μ μ μ©ν 'Animal' ν΄λμ€μ κ·Έ μλΈν΄λμ€ 'Dog' λ° 'Cat'μ μμμ λλ€:
class Animal: def speak(self): return "μ΄λ€ μ리λ₯Ό λ λλ€." class Dog(Animal): # Animal ν΄λμ€λ₯Ό μμλ°μ def speak(self): # Animal ν΄λμ€μ 'speak' λ©μλλ₯Ό μ¬μ μ return "λ©λ©!" class Cat(Animal): # Animal ν΄λμ€λ₯Ό μμλ°μ def speak(self): # Animal ν΄λμ€μ 'speak' λ©μλλ₯Ό μ¬μ μ return "μΌμΉ!" # λ€νμ± μ¬μ© μμ animal = Animal() animal.speak() # 'μ΄λ€ μ리λ₯Ό λ λλ€.' dog = Dog() dog.speak() # 'λ©λ©!' cat = Cat() cat.speak() # 'μΌμΉ!'
μ΄ μμ μμ speak
λ©μλλ 'Animal', 'Dog', 'Cat' ν΄λμ€μμ κ°κ° λ€λ₯΄κ² ꡬνλμμ΅λλ€.
μ΄λ κ² μλ‘ λ€λ₯Έ κ°μ²΄λ€μ΄ 'speak'λΌλ λμΌν λ©μλ νΈμΆμ λν΄ λ€λ₯Έ νλμ 보μ΄λ κ²μ λ€νμ±μ΄λΌκ³ ν©λλ€.
λ€νμ±μ μν
-
κ°μ²΄ μ μ°μ± μ¦κ°
: νλμ μΈν°νμ΄μ€(Interface, μΈλΆμ μνΈμμ©νλ κ·μΉ)μΌλ‘ λ€μν λ°μ΄ν° νμ κ³Ό κ°μ²΄λ₯Ό μ²λ¦¬ν μ μμ΅λλ€. -
μ½λ μ¬μ¬μ©μ±
: λ€νμ μΈ μ½λλ μ¬μ¬μ©νκΈ° μ¬μ νλ‘κ·Έλ¨μ νμ₯μ±κ³Ό μ μ§λ³΄μμ±μ΄ ν₯μλ©λλ€.
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Execution Result