π μ€λ λ°°μΈ ν΅μ¬ κ°λ
:
βοΈ ν΄λμ€(class)μ κ°μ²΄(object) κ°λ
μ΄ν΄
βοΈ μμ±μ(__init__)λ₯Ό μ¬μ©ν κ°μ²΄ μ΄κΈ°ν
βοΈ μμ±(attribute)κ³Ό λ©μλ(method) νμ©
βοΈ κ°μ²΄(Object)λ₯Ό κΈ°λ°μΌλ‘ μ½λλ₯Ό μμ±νλ νλ‘κ·Έλλ° λ°©μ
βοΈ μ€μ μΈκ³μ μ¬λ¬Όμ νλ‘κ·Έλλ°μμ ν΄λμ€(Class)λ‘ λͺ¨λΈλ§
βοΈ λ°μ΄ν°λ₯Ό μμ±(Attribute), λμμ λ©μλ(Method)λ‘ μ μ
βοΈ ν΄λμ€(Class):
Person(μ¬λ), Car(μλμ°¨), Animal(λλ¬Ό) βοΈ κ°μ²΄(Object):
Person β "νκΈΈλ", "μ΄μν¬" class)class Person:
pass # λΉ ν΄λμ€ (μμ§ λ΄μ© μμ)
β
ν΄λμ€λ₯Ό μ μν λ class ν€μλ μ¬μ©
κ°μ²΄ = ν΄λμ€())person1 = Person() # κ°μ²΄ μμ±
person2 = Person()
print(type(person1)) # <class '__main__.Person'>
β
Person ν΄λμ€λ‘λΆν° person1, person2 κ°μ²΄ μμ±
__init__) - κ°μ²΄ μ΄κΈ°νβοΈ μμ±μ(__init__)λ κ°μ²΄κ° μμ±λ λ μλ μ€νλ¨
βοΈ selfλ₯Ό μ¬μ©νμ¬ κ°μ²΄ μμ±μ μ μ
class Person:
def __init__(self, name, age): # μμ±μ (μ΄κΈ°ν)
self.name = name # μμ± μ€μ
self.age = age
person1 = Person("νκΈΈλ", 25) # κ°μ²΄ μμ±
print(person1.name) # νκΈΈλ
print(person1.age) # 25
β
self.name, self.ageλ κ°κ° κ°μ²΄μ μμ±(λ°μ΄ν°)
attribute) - κ°μ²΄μ λ°μ΄ν° μ μ₯βοΈ μμ±μ κ°μ²΄μ μ μ₯λλ λ°μ΄ν°
βοΈ self.μμ±λͺ
= κ° νμμΌλ‘ μ μ
class Car:
def __init__(self, brand, model):
self.brand = brand
self.model = model
car1 = Car("Hyundai", "Sonata")
car2 = Car("Tesla", "Model 3")
print(car1.brand, car1.model) # Hyundai Sonata
print(car2.brand, car2.model) # Tesla Model 3
β κ°κ° λ€λ₯Έ λ°μ΄ν°λ₯Ό κ°μ§ λ κ°μ κ°μ²΄ μμ±
def ν¨μ()) - κ°μ²΄μ λμ μ μβοΈ λ©μλ(Method): ν΄λμ€ λ΄λΆμμ μ μλ ν¨μ
βοΈ κ°μ²΄μ μμ±μ νμ©νμ¬ λμ μν
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self): # λ©μλ μ μ
print(f"μλ
νμΈμ, μ λ {self.name}μ
λλ€.")
person1 = Person("μ² μ", 30)
person1.greet() # μλ
νμΈμ, μ λ μ² μμ
λλ€.
β
self.nameμ νμ©νμ¬ κ°μ²΄λ§λ€ λ€λ₯Έ μΆλ ₯ κ°λ₯
βοΈ κ°μ²΄μ μμ±μ λ³κ²½νκ±°λ μλ‘μ΄ μμ±μ μΆκ°ν μλ μμ
person1.age = 31 # μμ± λ³κ²½
person1.job = "κ°λ°μ" # μλ‘μ΄ μμ± μΆκ°
print(person1.age) # 31
print(person1.job) # κ°λ°μ
β κΈ°μ‘΄ μμ± λ³κ²½ λ° μλ‘μ΄ μμ± μΆκ° κ°λ₯
1οΈβ£ ν΄λμ€λ₯Ό λ§λ€μ΄ κ°μ²΄λ₯Ό μμ±νλ μ°μ΅
# Animal ν΄λμ€λ₯Ό λ§λ€κ³ , nameκ³Ό species(μ’
) μμ±μ μΆκ°νμΈμ.
class Animal:
def __init__(self, name, species):
self.name = name
self.species = species
# Animal κ°μ²΄λ₯Ό μμ±νμ¬ μ΄λ¦κ³Ό μ’
μ μΆλ ₯νμΈμ.
animal1 = Animal("Lion", "Mammal")
print(animal1.name) # Lion
print(animal1.species) # Mammal
2οΈβ£ κ°μ²΄ λ©μλ μΆκ°νκΈ°
class Animal:
def __init__(self, name, species):
self.name = name
self.species = species
def make_sound(self):
print(f"{self.name}κ° μ리λ₯Ό λ
λλ€.")
# Animal κ°μ²΄ μμ± ν make_sound() μ€ν
animal1 = Animal("κ°", "ν¬μ λ₯")
animal1.make_sound() # κ°κ° μ리λ₯Ό λ
λλ€.
3οΈβ£ μλμ°¨ ν΄λμ€ λ§λ€κΈ°
class Car:
def __init__(self, brand, model, year):
self.brand = brand
self.model = model
self.year = year
def display_info(self):
print(f"μλμ°¨ μ 보: {self.year}λ
{self.brand} {self.model}")
# μλμ°¨ κ°μ²΄ μμ± ν μ 보 μΆλ ₯
car1 = Car("Hyundai", "Sonata", 2022)
car1.display_info() # μλμ°¨ μ 보: 2022λ
Hyundai Sonata
4οΈβ£ μ¬λ ν΄λμ€μ λμ΄ μ¦κ° κΈ°λ₯ μΆκ°
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def birthday(self):
self.age += 1
print(f"μμΌ μΆνν©λλ€! μ΄μ {self.age}μ΄μ΄ λμμ΅λλ€.")
# κ°μ²΄ μμ± ν birthday() μ€ν
person1 = Person("μν¬", 20)
person1.birthday() # μμΌ μΆνν©λλ€! μ΄μ 21μ΄μ΄ λμμ΅λλ€.
| κ°λ | μ€λͺ |
|---|---|
class | ν΄λμ€λ₯Ό μ μνλ ν€μλ |
object | ν΄λμ€λ‘λΆν° μμ±λ μ€μ²΄ |
__init__() | μμ±μ, κ°μ²΄ μ΄κΈ°ν μ μ€νλ¨ |
self | κ°μ²΄ μμ μ κ°λ¦¬ν€λ ν€μλ |
μμ± (attribute) | κ°μ²΄μ λ°μ΄ν° (μ: self.name) |
λ©μλ (method) | κ°μ²΄κ° μννλ λμ (μ: def greet(self)) |
βοΈ ν΄λμ€μ κ°μ²΄ κ°λ
μ μ΄ν΄!
βοΈ κ°μ²΄μ μμ±κ³Ό λ©μλλ₯Ό μμ λ‘κ² μΆκ°!
βοΈ μ€μ νλ‘κ·Έλ¨μμ κ°μ²΄λ₯Ό νμ©ν μ μμ!
μ΄μ κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°(OOP)μ΄ λ μΉμν΄μ‘μ§? ππ₯