κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°(OOP) μκ°
κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°
(Object-Oriented Programming, OOP)μ νλ‘κ·Έλλ° λ°©λ²λ‘ μ€ νλλ‘ μ€μΈκ³μ μ¬λ¬Όμ΄λ κ°λ
μ νλ‘κ·Έλ¨ λ΄μ κ°μ²΄
λ‘ νννκ³ , μ΄λ€ κ°μ²΄ κ°μ μνΈμμ©μ ν΅ν΄ μννΈμ¨μ΄λ₯Ό κ°λ°νλ λ°©μμ
λλ€.
κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ ν΅μ¬ κ°λ
κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ λ°μ΄ν°
(μμ±, Property)μ λ°μ΄ν°λ₯Ό μ²λ¦¬νλ κΈ°λ₯
(λ©μλ, Method)μ κ°μ²΄
λ‘ λ¬Άμ΄μ κ΄λ¦¬ν©λλ€. ν΅μ¬ κ°λ
μ λ€μκ³Ό κ°μ΅λλ€.
-
κ°μ²΄(Object): κ°μ²΄λ
λ°μ΄ν°(μμ±)
μ κ·Έ λ°μ΄ν°μ λν μ‘°μμ μννλν¨μ(λ©μλ)
λ₯Ό κ²°ν©ν κ²μ λλ€. μλ₯Ό λ€μ΄ μλμ°¨λΌλ κ°μ²΄λ μμ, λͺ¨λΈ, μλ λ±μ μμ±κ³Ό κ°μνκΈ°, μ μ§νκΈ° λ±μ λ©μλλ₯Ό κ°μ§ μ μμ΅λλ€. -
ν΄λμ€(Class): ν΄λμ€λ κ°μ²΄λ₯Ό μμ±νκΈ° μν
ν νλ¦Ώ
λλμ€κ³λ
μ λλ€. ν΄λμ€λ νΉμ μ νμ κ°μ²΄λ€μ΄ 곡μ νλ μμ±κ³Ό λ©μλλ₯Ό μ μν©λλ€. ν΄λμ€λ‘λΆν° μμ±λ κ°μ²΄λ₯ΌμΈμ€ν΄μ€(Instance)
λΌκ³ ν©λλ€. -
μμ(Inheritance): ν ν΄λμ€(λΆλͺ¨ ν΄λμ€)μ μμ±κ³Ό λ©μλλ₯Ό λ€λ₯Έ ν΄λμ€(μμ ν΄λμ€)κ° λ¬Όλ €λ°μ μ¬μ©ν μ μκ² νλ κ²μ λλ€. μ΄λ₯Ό ν΅ν΄ μ½λμ μ¬μ¬μ©μ±μ λμΌ μ μμ΅λλ€.
-
μΊ‘μν(Encapsulation): κ°μ²΄μ λ°μ΄ν°(μμ±)λ₯Ό μΈλΆλ‘λΆν° μ¨κΈ°κ³ , κ°μ²΄μ λ©μλλ§μ ν΅ν΄ μ΄ λ°μ΄ν°μ μ κ·Όν μ μκ² νλ κ²μ λλ€. μ΄λ₯Ό ν΅ν΄ μΈλΆλ‘λΆν° κ°μ²΄λ₯Ό 보νΈν©λλ€.
-
λ€νμ±(Polymorphism): λ€νμ±μ κ°μ μ΄λ¦μ λ©μλκ° λ€λ₯Έ ν΄λμ€μμ λ€λ₯Έ νλμ ν μ μκ² νλ νΉμ±μ λλ€. μ΄λ₯Ό ν΅ν΄ μ½λμ μ μ°μ±κ³Ό μ¬μ¬μ©μ±μ λμΌ μ μμ΅λλ€.
ν΄λμ€μ κ°μ²΄ μ¬μ΄μ κ΄κ³λ μλμ°¨ μ€κ³λμ μλμ°¨, μ리 λ μνΌμ μ리μ κ°μ΄ μκ°ν μ μμ΅λλ€.
OOP μ¬μ© μμ
class Animal: # Animal ν΄λμ€ μ μ def __init__(self, name): # μμ±μ λ©μλ self.name = name # name μμ± μ μ def speak(self): # speak λ©μλ μ μ pass class Dog(Animal): # Dog ν΄λμ€ μ μ def speak(self): # speak λ©μλ μ¬μ μ return f"{self.name}κ° λ©λ©!" # name μμ± μ¬μ© # κ°μ²΄ μμ± λ° μ¬μ© my_dog = Dog("λ°λμ΄") print(my_dog.speak()) # μΆλ ₯: λ°λμ΄κ° λ©λ©!
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Execution Result