μΊ‘μνμ λ€νμ±, κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ ν΅μ¬ κ°λ
μΊ‘μν(Encapsulation)
μ λ€νμ±(Polymorphism)
μμ κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ ν΅μ¬ κ°λ
μ
λλ€.
μ΄λ² μμ μμλ μΊ‘μνμ λ€νμ±μ κ°λ μ μκ°νκ³ , νμ΄μ¬μμ μ΄λ»κ² νμ©νλμ§ μμλ³΄κ² μ΅λλ€.
μΊ‘μνλ?
μΊ‘μν
λ κ°μ²΄μ μνλ₯Ό μΈλΆμμ μ§μ μ κ·Όνμ§ λͺ»νλλ‘ λ³΄νΈνλ κ²μ λ»ν©λλ€.
κ°μ²΄ λ΄λΆμ λ°μ΄ν°λ μΈλΆμμ μ§μ μ κ·Όν μ μμΌλ©°, 곡κ°λ λ©μλλ₯Ό ν΅ν΄μλ§ μ‘°μν μ μμ΅λλ€.
μ΄λ₯Ό ν΅ν΄ λ°μ΄ν° 무결μ±(λ°μ΄ν°μ μ νμ±κ³Ό μΌκ΄μ±)μ 보μ₯νκ³ , κ°μ²΄μ μνλ₯Ό μμ νκ² μ μ§ν©λλ€.
class Car: def __init__(self, speed): self.__speed = speed # speed μμ±μ λΉκ³΅κ°λ‘ μ€μ , __λ λΉκ³΅κ° μμ±μ μλ―Έ def get_speed(self): return self.__speed # μΊ‘μνλ μμ± λ°ν def set_speed(self, speed): if speed > 0: self.__speed = speed # μΊ‘μνλ μμ± λ³κ²½ my_car = Car(50) # μΆλ ₯: 50 print(my_car.get_speed())
μ μμ μμ __speed
μμ±μ μΊ‘μνλμ΄ λΉκ³΅κ° μνμ΄κΈ° λλ¬Έμ μΈλΆμμ μ§μ μ κ·Όν μ μμ΅λλ€.
'__speed' μμ±μ get_speed
μ set_speed
λ©μλλ₯Ό ν΅ν΄μλ§ μ‘°μ κ°λ₯ν©λλ€.
my_car.__speed
μ κ°μ΄ μμ±μ μ§μ μ κ·Όνλ©΄ μ€λ₯κ° λ°μνλ―λ‘, λ°μ΄ν°μ 무결μ±μ 보μ₯ν μ μμ΅λλ€.
λ€νμ±μ΄λ?
λ€νμ±
μ λμΌν λ©μλκ° μ¬λ¬ κ°μ²΄μμ λ€λ₯΄κ² λμν μ μλ κ²μ λ»ν©λλ€.
μ΄λ₯Ό ν΅ν΄ μ½λμ μ μ°μ±κ³Ό νμ₯μ±μ΄ ν¬κ² ν₯μλ©λλ€.
λΆλͺ¨ ν΄λμ€μμ μ μν λ©μλλ₯Ό μμ ν΄λμ€μμ μ¬μ μνλ λ©μλ μ€λ²λΌμ΄λ©
μ λ€νμ±μ λνμ μΈ μμμ
λλ€.
class Animal: def speak(self): return "μ리λ₯Ό λΈλ€" class Dog(Animal): def speak(self): return "λ©λ©" class Cat(Animal): def speak(self): return "μΌμΉ" animals = [Dog(), Cat()] for animal in animals: # Dog ν΄λμ€μ Cat ν΄λμ€μμ μ€λ²λΌμ΄λ©ν speak λ©μλ νΈμΆ print(animal.speak()) # μΆλ ₯: λ€λ₯Έ μ€μ 'λ©λ©'κ³Ό 'μΌμΉ'μ΄ μΆλ ₯λ¨
μ μμ μμ Animal ν΄λμ€μ μ μλ speak
λ©μλλ Dog
μ Cat
ν΄λμ€μμ κ°κ° λ€λ₯΄κ² λμν©λλ€.
μ΄λ λ€νμ±μ ν΅ν΄ κ°μ λ©μλ νΈμΆμ΄ κ°μ²΄μ λ°λΌ λ€λ₯Έ κ²°κ³Όλ₯Ό λ°νν μ μμ΅λλ€.
κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ μΊ‘μν
μ λν μ€λͺ
μΌλ‘ μ³μ κ²μ 무μμΈκ°μ?
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Execution Result