class Dog:
def __init__(self, name, age, breed):
self.name = name
self.age = age
self.breed = breed
def introduce(self):
return f"Hello, my name is {self.name} and I am a {self.breed}."
class Puppy(Dog):
def __init__(self, name, breed, color):
super().__init__(name, 0.1, breed)
self.color = color
def introduce(self):
return f"{super().introduce()} I am {self.color}."
poppi = Puppy(
name="Poppi",
breed="Poodle",
color="White",
)
print(poppi.introduce())
πΆ Python ν΄λμ€ μμ μμ μμΈ μ€λͺ
μ΄ μ½λλ ν΄λμ€ μμ(Inheritance)μ μ¬μ©νμ¬ Dog ν΄λμ€λ₯Ό λΆλͺ¨ ν΄λμ€λ‘ νκ³ , Puppy ν΄λμ€λ₯Ό μμνμ¬ κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°(OOP) κ°λ μ μ μ©ν μμ μ λλ€.
β 1οΈβ£ Dog ν΄λμ€ (λΆλͺ¨ ν΄λμ€)
class Dog:
def __init__(self, name, age, breed):
self.name = name
self.age = age
self.breed = breed
def introduce(self):
return f"Hello, my name is {self.name} and I am a {self.breed}."
πΉ Dog ν΄λμ€μ μν
β’ ν΄λμ€ μμ±(Attributes)
β’ self.name β κ°μ μ΄λ¦
β’ self.age β κ°μ λμ΄
β’ self.breed β κ°μ νμ’
β’ ν΄λμ€ λ©μλ(Methods)
β’ introduce(self) β
κ°μ μ΄λ¦κ³Ό νμ’ μ λ°ννλ λ¬Έμμ΄μ μμ±
μμ μ€ν μ: "Hello, my name is Poppi and I am a Poodle."
β 2οΈβ£ Puppy ν΄λμ€ (μμ ν΄λμ€)
class Puppy(Dog):
def __init__(self, name, breed, color):
super().__init__(name, 0.1, breed)
self.color = color
def introduce(self):
return f"{super().introduce()} I am {self.color}."
πΉ Puppy ν΄λμ€μ μν
β’ Dog ν΄λμ€λ₯Ό μμλ°μ μλ‘μ΄ μμ±(color)μ μΆκ°νκ³ , introduce() λ©μλλ₯Ό μ€λ²λΌμ΄λ©(Override).
β’ ν΄λμ€ μμ±(Attributes)
β’ name β κ°μμ§ μ΄λ¦
β’ age β νμ 0.1 (μ΄λ¦° κ°μμ§μ΄λ―λ‘ λμ΄λ₯Ό κ³ μ )
β’ breed β κ°μμ§ νμ’
β’ color β κ°μμ§ μκΉ
β’ λ©μλ(Method)
β’ super().init(name, 0.1, breed)
β λΆλͺ¨ ν΄λμ€(Dog)μ init()μ νΈμΆνμ¬ name, age, breedλ₯Ό μ΄κΈ°ν.
β’ introduce(self) μ€λ²λΌμ΄λ©
β’ λΆλͺ¨ ν΄λμ€μ introduce()λ₯Ό νΈμΆνμ¬ κΈ°λ³Έ μ 보(name, breed)λ₯Ό κ°μ Έμ΄.
β’ "I am {self.color}."λ₯Ό μΆκ°νμ¬ μκΉλ ν¬ν¨λ λ¬Έμμ΄μ λ°ν.
β 3οΈβ£ κ°μ²΄ μμ± λ° μ€ν
poppi = Puppy(
name="Poppi",
breed="Poodle",
color="White",
)
π κ°μ²΄ μμ± κ³Όμ
name = "Poppi", breed = "Poodle", color = "White" μ€μ .
λΆλͺ¨ ν΄λμ€ Dogμ init()μ νΈμΆνμ¬
β’ self.name = "Poppi"
β’ self.age = 0.1 (κ°μμ§λ λμ΄λ₯Ό 0.1λ‘ κ³ μ )
β’ self.breed = "Poodle"
β 4οΈβ£ introduce() μ€ν
print(poppi.introduce())
π μ€ν νλ¦
poppi.introduce() νΈμΆ β Puppy ν΄λμ€μ introduce() μ€ν.
super().introduce() μ€ν β λΆλͺ¨ ν΄λμ€(Dog)μ introduce() μ€ν
β’ κ²°κ³Ό: "Hello, my name is Poppi and I am a Poodle."
π μΆλ ₯ κ²°κ³Ό
Hello, my name is Poppi and I am a Poodle. I am White.
π― μ΅μ’ μ 리
ν΄λμ€ | μ€λͺ |
---|---|
Dog (λΆλͺ¨ ν΄λμ€) | name, age, breed μμ±μ κ°μ§λ©° introduce() λ©μλ μ 곡 |
Puppy (μμ ν΄λμ€) | Dogμ μμνμ¬ color μμ±μ μΆκ°νκ³ introduce()λ₯Ό μ€λ²λΌμ΄λ© |
κ°μ²΄ μμ± | poppi = Puppy(name="Poppi", breed="Poodle", color="White") |
μΆλ ₯ κ²°κ³Ό | "Hello, my name is Poppi and I am a Poodle. I am White." |