1. κ°μ²΄μ§ν₯μ μ΄ν΄
2.. ν΄λμ€μ μΈμ€ν΄μ€
3. κ°μ²΄μ§ν₯μ νμ©
1. κ°μ²΄μ§ν₯μ μ΄ν΄
(1) κ°μ²΄μ§ν₯μ κ°λ
- κ°μ²΄μ κ°μ²΄ μ¬μ΄μ μνΈμμ©μΌλ‘ νλ‘κ·Έλ¨μ ꡬμ±νλ νλ‘κ·Έλλ° ν¨λ¬λ€μμ μλ―Ένλ€.
- νλ‘κ·Έλ¨μ μ μ°νκ³ λ³κ²½μ μ½κ² λ§λ€μ΄ λκ·λͺ¨ μννΈμ¨μ΄ κ°λ°μ μ¬μ©μ ν¨.
[1] κ°μ²΄μ§ν₯ ν¨λ¬λ€μμ νΉμ§
- μΆμν : 곡ν΅μ μμ±μ΄λ κΈ°λ₯μ λμΆ
- μΊ‘μν : λ°μ΄ν° ꡬ쑰μ λ°μ΄ν°μ μ°μ°μ κ²°ν©
- μμ : μμ κ°λ μ νΉμ§μ΄ νμ κ°λ μ μ λ¬
- λ€νμ± : μ μ¬ κ°μ²΄μ μ¬μ©μ±μ κ·Έλλ‘ μ μ§
(2) κ°μ²΄μ ν΄λμ€
[1] κ°μ²΄ μ μ
- κ°μ²΄λ μΆμνμ μΊ‘μνμ κ²°κ³Όλ₯Ό μλ―Ένλ€.
- μ€μΈκ³μ μ¬λ¬Όμ λν μν(λ°μ΄ν°)μ μ°μ°(λ©μλ)μ ννν λ¨μλ₯Ό λ§νλ€.
- λ©€λ²(λ°μ΄ν° νλ, λ©μλ)λ ν΄λμ€μ μν΄ κ²°μ μ΄ λλ€.
[2] ν΄λμ€ μ μ
- ν΄λμ€λ κ°μ²΄λ₯Ό λ§λ€μ΄ λ΄κΈ° μν μ€κ³λλ©΄μΌλ‘ λ³Ό μ μλ€.
- μ½κ² λ§ν΄, ν΄λμ€μ μ¬λ¬ 볡μ¬λ³Έλ€μ κ°μ²΄λΌκ³ λ³Ό μ μμ. μ¦, μλ³Έ(μ€κ³λ)μΌλ‘ λ³Ό μ μμ.
- ν΄λμ€μμλ λ©μλμ μ΄κΈ°μκ° μ‘΄μ¬ν¨.
[3] λ©μλ(method)
- κ°μ²΄μ λν νλ(μ°μ°)μ μ μ
- ν¨μμ μ μ λ° μ¬μ© λ°©λ²κ³Ό λμΌν¨.
- ν΄λμ€ λ΄λΆμ ν¨μκ° μμΌλ©΄ κ·Έκ²μ λ©μλλΌκ³ λΆλ¦.
[4] μ΄κΈ°μ(initializer)
- κ°μ²΄μ μνλ₯Ό μ΄κΈ°ννλ νΉμ λ©μλλ₯Ό μλ―Ένλ€.
- νμ __init__μΌλ‘ λͺ λͺ ν¨
- μλ°μμ μμ±μλ‘ λ³Ό μ μμ.
(3) νμ΄μ¬ κ°μ²΄ & ν΄λμ€ κ΅¬λ¬Έ νμ
- ν΄λμ€ λ΄λΆμ λ©μλλ€μ μ μ ν μ μμ. μ΄λ, λ©μλλ λ¨μν ν΄λμ€ λ΄λΆμ ν¨μλ₯Ό μλ―Έν¨.
class Calculator: # ν΄λμ€ μ μ
def add(self, a, b):
print(a + b)
def minus(self, a, b):
print(a - b)
calculator = Calculator() # κ°μ²΄ μμ±
calculator.add(1, 2) # μμ± λ κ°μ²΄ λ©μλ νΈμΆ
calculator = Calculator() # λ λ€λ₯Έ κ°μ²΄ μμ±
calculator.minus(2, 1) # μμ± λ κ°μ²΄ λ©μλ νΈμΆ
- Calculator ν΄λμ€λ₯Ό νΈμΆν΄μ λ©μλλ₯Ό λΆλ₯΄λ λΆλΆμ
(4) λ©μλμ μ μ
- ν΄λμ€ λ΄λΆμ μ μ λμ΄μλ ν¨μλ₯Ό λ©μλλΌκ³ λ§νλ€.
[1] self λ§€κ°λ³μ
- ν΄λΉ λ§€κ°λ³μλ self μκΈ° μμ μ¦, ν΄λΉ ν΄λμ€μ μ 보λ₯Ό λ΄κ³ μλ€.
- self λ§€κ°λ³μ μ¬μ©μμλ λͺ¨λ λ©μλμ 첫λ²μ§Έ λ§€κ°λ³μλ‘ μ¨μΌνλ€.
- κ°μ²΄ μμ μ μ°Έμ‘°νμ¬ ν΄λμ€ μ μμ ν¬ν¨λ λ©€λ²μ μ κ·Ό μ μ¬μ©νλ€.
class test:
def abc(self): # ν¨μ νΈμΆμ μλμΌλ‘ selfμ ν΄λΉ ν΄λμ€λ₯Ό λ겨μ€
self.age = 100
print(self.a)
test().abc()
- selfλ μ¬λ¬ κ°μ²΄λ€μ΄ μμλ, κ°κ°μ κ³ μ κ°μ μ μ₯ν μ μμ.
(5) μ΄κΈ°μ(μμ±μ)
- μ΄κΈ°μλ κ°μ²΄λ₯Ό μμ±νλ κ³Όμ μμ λ§€κ°λ³μλ‘ κ°μ λ£μΌλ©΄, __init__ λ©μλ(ν¨μ)κ° νΈμΆμ΄ λλ©° κ°μ μ΄κΈ°ν ν μ μλ€.
- μ¬μ€μ μμ±μλ₯Ό μ΄κΈ°μλΌκ³ λΆλ₯Έλ€. ( __init__ λ©μλ μ. )
class User:
def __init__(self, name, age):
self.name = name # λ©€λ² λ³μμ μ λ¬λ°μ κ° μ μ₯
self.age = age
def introduce(self):
print(f"μλ
νμΈμ, μ μ΄λ¦μ {self.name}μ΄κ³ λμ΄λ {self.age}μ΄μ΄μμ.")
# κ°μ²΄ μμ±νλ©΄μ μ΄κΈ°μ μλ νΈμΆλ¨
user1 = User("μ΄λ¦", 28)
user1.introduce()
2. λ°μ΄ν° νλ κ°μΆκΈ°
(1) λ°μ΄ν° μλ(data hiding)
- λ°μ΄ν° νλμ μ§μ λ³κ²½μ λ°©μ§νκΈ° μν΄ μ¬μ©μμ μ§μ μ μ κ·Όμ μ°¨λ¨ν μ μμ.
- pulbicκ³Ό λ€λ₯Έ private λ°μ΄ν° νλλ‘ μ μ
- ν΄λμ€ λ΄λΆμμλ§ μ κ·Όμ΄ κ°λ₯νκ² λ§λ€ μ μμ.
- μ λ λ°μ€(__)λ‘ μ μ νλ©΄ λλ€.
- setterμ getterλ₯Ό νμ©νμ¬ κ°μ λ³κ²½ ν μ μλ€. ( κ·Έλ₯ λ¨μν λ΄λΆμμ μ κ·Όνλ ν¨μμ΄λ€. )
class User:
def __init__(self, name, age):
self.__name = name # μ κ·Όμ ν΄λΉ ν΄λμ€μμλ§ κ°λ₯
self.__age = age
def get_name(self): # κ°λ₯νκ² λ§λ€κΈ° μν΄ getterλ₯Ό νμ©
return self.__name
def get_age(self):
return self.__age
user = User("junbin", 20)
print(user.get_name())
print(user.get_age())
(2) λ°μ΄ν° μλ μ¬μ©νλ μ΄μ
- μΈλΆμμ μ§μ λ°μ΄ν°λ₯Ό μμ νλ©΄, κ°μ²΄ μνκ° μμμΉ λͺ»νκ² λ³κ²½λ μνμ΄ μμ.
- λμ€μ λ΄λΆ λ‘μ§μ λ°κΏλ μΈλΆ μΈν°νμ΄μ€(get, set λ©μλ)λ κ·Έλλ‘ λλ©΄ λλ―λ‘ μ μ§λ³΄μκ° μ¬μμ§.
- λ³μλ§λ€ μ½κΈ° μ μ©μ΄λ μ°κΈ° μ μ©μ²λΌ λμνκ² λ§λ€ μ μμ.
3. μ 리
- νμ΄μ¬μ λͺ¨λ κ²μ κ°μ²΄(Object) μ΄λ€.
num = 1
print(type(num)) # κ²°κ³Ό : <class 'int'>
# μ¦, num = int(1) ννμΈ κ²μΈλ° μλ΅μ΄ λκ²μ΄λ€.
- num = int(1) κ³Ό num = 1 μ κ°μ ννμ΄κ³ , νμ΄μ¬μ΄ λ΄λΆμ μΌλ‘ μ λ κ² λ§λ€μ΄ μ£Όλ κ²μ΄λ€.
- μ¦, νμ΄μ¬μ λͺ¨λ κ²μ΄ κ°μ²΄μ΄λ€.
'π οΈBackend > β‘Python' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Python] 12κ° - νμΌ (0) | 2025.04.23 |
---|---|
[Python] 11κ° - λͺ¨λ (0) | 2025.04.21 |
[Python] 9κ° - ν¨μ (0) | 2025.04.17 |
[Python] νμ΄μ¬ μΈν°ν리ν°(Interperter) μ½κ² μ΄ν΄νκΈ° (1) | 2025.04.17 |
[Python] 7κ° - λ°λ³΅ ꡬ쑰 (0) | 2025.04.17 |