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