8μ£Όμ°¨ - κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°
-κ°μ²΄ μ§ν₯ νλ‘κ·Έλ¨μ λ°°μ°λ μ΄μ
:μ¬λ¬ μ¬λμ΄ νλ‘κ·Έλ¨μ κ°λ°ν λ μ΄λ€ λ°©λ²μ΄ μ’μμ§μ λν κ³ λ―Όκ³Ό λΉμ·ν¨
>λ΄κ° μλλΌ λ¨μ΄ λ§λ μ½λλ₯Ό μ¬μ¬μ©νκ³ μΆμ λ μ¬μ©νλ λνμ μΈ λ°©λ²
ν¨μμ²λΌ μ΄λ€ κΈ°λ₯μ ν¨μ μ½λλ‘ λ¬Άμ΄ λλ κ²μ΄ μλλΌ, μ΄λ€ κΈ°λ₯μ μννλ νλμ λ¨μΌ νλ‘κ·Έλ¨μ κ°μ²΄λΌκ³ νλ μ½λλ₯Ό λ§λ€μ΄ λ€λ₯Έ νλ‘κ·Έλλ¨Έκ° μ¬μ¬μ©ν μ μλλ‘ ν¨. μ΄κ²μ μ»΄ν¨ν°κ³΅νμ μ€λλ νλ‘κ·Έλλ° κΈ°λ² μ€ νλμ.
-κ°μ²΄μ ν΄λμ€
κ°μ²΄
μ€μνμ μ‘΄μ¬νλ μ€μ μ μΈ λ¬Όκ±΄, κ°λ
μ λ»νλ©°, μμ±κ³Ό νλμΌλ‘ ꡬμ±λ¨
κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ μ΄λ¬ν κ°μ²΄μ κ°λ
μ νμ©νμ¬ νλ‘κ·Έλ¨μΌλ‘ νννλ κΈ°λ²μ΄λ€.
μμ±μ λ³μvariableλ‘, νλμ ν¨μfunctionλ‘ μ μλ¨
κ°μ²΄λ€μ μν μ€κ³λλ₯Ό λ§λ€μ΄μΌ ν¨ > ν΄λμ€
: κ°μ²΄κ° κ°μ ΈμΌ ν κΈ°λ³Έ μ 보λ₯Ό λ΄μ μ½λλ‘ μΌμ’
μ μ€κ³λ μ½λ
μ μμ μ΄λ¦, ν¬μ§μ
, μμνλ±μ κΈ°λ³Έμ μΌλ‘ κ°μ§κ³ μμ΄μΌ ν μμ±μ΄λ©°,
μ΄λ¬ν μ 보λ₯Όμ€μ μμ±λλ κ°μ²΄μ μν₯λ―Ό κ°μ μ μ μ΄λ¦μ ν λΉν¨
- - ν΄λμ€λ₯Ό μ μΈνκΈ° μν κΈ°λ³Έ μ½λ ν νλ¦Ώ
μμ½μ΄μΈ class μ½λλ₯Ό 맨μμ μ λ ₯, λ§λ€κ³ μ νλ ν΄λμ€ μ΄λ¦, μμλ°μμΌνλ λ€μ ν΄λμ€μ μ΄λ¦μ κ΄νΈ μμ λ£μ
(μμ: κΈ°μ‘΄μ λ§λ ν΄λμ€μ νΉμ§μ κ·Έλλ‘ μ΄μ΄λ°μ μ¬μ©νλ κ²μ λ§ν¨ κ°μ²΄ μ§ν₯ ν루그λλ°μ μ₯μ μ€ νλλ μ¬μ¬μ©μ±μ΄κ³ , μ΄λ₯Ό μμ½κ² νλ κ²μ΄ λ°λ‘ μμμ μ΄λ¬ν κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ λνμ μΈ νΉμ§μ λ€μμ λ€μ λ€λ£Έ)
-μμ±μ μ μΈ
:μμ±μ λν μ 보λ₯Ό μ μΈνκΈ° μν΄μλ _ init__()λΌλμμ½ ν¨μλ₯Ό μ¬μ©
μ΄μΈμλ str, add λ±μ΄ μμ
class SoccerPlayer(object):
def__init__(self, name, position, back_number)οΌ
self .name = name
self.position = position
self .back_number = back_number
- init ν¨μμ 첫λ²μ§Έ 맀κ°λ³μλ λ°λμ selfλ³μ μ¬μ©
- self λ³μλ μμ±λ μΈμ€ν΄μ€μ μ κ·Όνλ μμ‘μ΄, μμ±λ μΈμ€ν΄μ€λ₯Ό μ§μ νλ λ³μ
- self λ€μ 맀겨λ³μλ€μ μ€μ ν΄λμ€κ° κ°μ§ μμ±μΌλ‘ μ΄λ¦,ν¬μ§μ ,λ±λ²νΈμ >μ€μ λ‘ μμ±λλ μΈμ€ν΄μ€μ ν λΉ
- self.name=name μ½λμ ν λΉ / λμ λ리νκ³Ό λΉμ·, nameμ΄ λ§€κ°λ³μ μν
-ν¨μμ μ μΈ
: ν¨μλ μ΄ ν΄λμ€κ° ν μ μλ λ€μν λμμ μ μ
class SoccerPlayer(object):
def change_back_number(self, new_number):
print("μ μμ λ±λ²νΈλ₯Ό λ³κ²½νλ€: From %d to %d" % (self .back_number, new_number))
self.back_number = new_number
- κΈ°μ‘΄ ν¨μμ λΉμ·, ν¨μ μ΄λ¦μ μ°κ³ , 맀κ°λ³μ μ¬μ©
- κ°μ₯ ν° μ°¨μ΄μ μ selfλ₯Ό 맀κ°λ³μμ λ°λμ λ£μ΄μΌ ν¨
-_μ μ°μ
(1) _1κ°λ₯Ό μ¬μ©ν λ
: μ΄νλ‘ μ°μ΄μ§ μμ λ³μμ νΉλ³ν μ΄μ λ₯Ό λΆμ¬νκ³ μΆμ§ μμ λ
for _ in range(10):
print("Hello, World")
(2)_ _2κ°λ₯Ό μ¬μ©ν λ
: νΉμν μμ½ ν¨μλ λ³μλ₯Ό μλ―Έ
λνμ μΌλ‘ _ _ str _ _ μ΄λ _ _ init_ _ κ°μ ν¨μ
str() ν¨μλ ν΄λμ€λ‘ μΈμ€ν΄μ€λ₯Ό μμ±νμ λ, κ·Έ μΈμ€ν΄μ€ μ체λ₯Ό print() ν¨μλ‘ νλ©΄μ μΆλ ₯νλ©΄ λμ€λ κ°μ λ»
- μΈμ€ν΄μ€ μ¬μ©νκΈ°
μΈμ€ν΄μ€:ν΄λμ€μμ μ€μ μ μΈ λ°μ΄ν°κ° μ λ ₯λμ΄ μ¬μ©ν μ μλ ννμ κ°μ²΄
(λΆμ΄λΉ΅ν: ν΄λμ€, λΆμ΄λΉ΅: μΈμ€ν΄μ€ (μ¬λ¬ κ°μ§ μ¬λ£κ° λ€μ΄κ° λΆμ΄λΉ΅))- ν΄λμ€μμ μΈμ€ν΄μ€λ₯Ό νΈμΆνλ λ°©λ²
: jinhyunμ΄λΌλ μΈμ€ν΄μ€ μμ²΄κ° soccerplayerν΄λμ€ κΈ°λ°μΌλ‘ μμ±
jinhyunμ΄λΌλ μΈμ€ν΄μ€ μμ²΄κ° soccerplayer ν΄λμ€μμ selfμ ν λΉ
:ν΄λΉ μ½λλ self λ³μμ μλ¬΄λ° κ°λ ν λΉ μν¨
# μ 체 SoccerPlayer μ½λ
class SoccerPlayer(object):
def __init__(self, name, position, back_number)οΌ
self.name = name
self.position =position
self.back_number = back_number
def change_back_number(self, new_number)οΌ
print("μ μμ λ±λ²νΈλ₯Ό λ³κ²½νλ€: From %d to %d" % (self.back_number, new_
number))
self.back_number = new_number
def __str__(self):
return "Hello, My name is %s. I play in %s in center." % (self .name,self.position)
# SoccerPlayerλ₯Ό μ¬μ©νλ instance μ½λ
jinhyun = SoccerPlayer("Jinhyun", "MF", 10)
print("νμ¬ μ μμ λ±λ²νΈλ:", jinhyun .back_number)
inhyun.change_back_number(5)
print("νμ¬ μ μμ λ±λ²νΈλ:", jinhyun.baμc_number
νμ¬ μ μμ λ±λ²νΈλ: 10
μ μμ λ±λ²νΈλ₯Ό λ³κ²½νλ€: From 10 to 5
νμ¬ μ μμ λ±λ²νΈλ: 5
-ν΄λμ€λ₯Ό μ¬μ©ν΄μΌνλ μ΄μ
:μμ μ μ½λλ₯Ό λ€λ₯Έ μ¬λμ΄ μμ½κ² μ¬μ©ν μ μλλ‘ μ€κ³νκΈ° μν¨
λ°μ΄ν°λ₯Ό λ³ννκ±°λ λ°μ΄ν°λ² μ΄μ€μ μ μ₯νλ λ±μ μν μ΄ νμ
리μ€νΈμ ν¨μλ‘ κ°κ° λ§λ€μ΄ 곡μ νλ κ²λ³΄λ€
νλμ κ°μ²΄λ‘ μμ±ν΄ λ€λ₯Έ μ¬λλ€μκ² λ°°ν¬νλ€λ©΄ μμ μ΄ ν¨μ¬ λ μ¬μμ§
-κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ νΉμ§
-μμ
:κ·Έλλ‘ λ¬΄μμΈκ°λ₯Ό λ΄λ €λ°λ κ²μ λ»
λΆλͺ¨ν΄λμ€μ μ μλ μμ±κ³Ό λ©μλλ₯Ό μμ ν΄λμ€ κ°λ¬Όλ €λ°μ μ¬μ©νλ€λ κ²
μμμ ꡬ쑰
- μμμ λΆλͺ¨ ν΄λμ€λ³΄λ€ μμν΄λμ€κ° λ ꡬ체둸
- λΆλͺ¨ κ°μ²΄λ μΌλ°μ μΈ κΈ°λ₯, μμ κ°μ²΄ μμΈν κΈ°λ₯
-λ€νμ±
:κ°μ μ΄λ¦μ λ©μλκ° λ€λ₯Έ κΈ°λ₯μ νλ κ²
:κ°κ° ν΄λμ€μμ ꡬνλλ λ΄λΆ λ‘μ§μ μ°¨μ΄κ° μμ > μ΄λ₯Ό ν¨μμ λ€νμ±μ΄λΌκ³ ν¨
- μ¬μ©νλ μ΄μ ?
κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ μ¬μ©νλ μ΄μ μ κ°μ
λ€λ₯Έ μ¬λμ μ½λλ₯Ό μ½κ² μ¬μ¬μ©νκΈ°μν΄, λ΄λΆμ μΈ κ΅¬νκ³Όμ μ λͺ¨λ₯΄λλΌλ, ν¨μ,ν΄ λμ€μ μνμ λͺ νν μμμΌ ν¨
-κ°μμ±
:κ°μ²΄μ μ 보λ₯Ό λ³Ό μ μλ λ 벨μ μ‘°μ νμ¬ κ°μ²΄μ μ 보 μ κ·Όμ μ¨κΈ°λ κ²μ λ§ν¨
ν΅μ¬ κ°λ μ μΊ‘μν(encapsulation)μ μ 보 μλ(information hiding)μ
μΊ‘μν
:μ¬μ©νλ λ°©λ²λ§ μλ©΄ λλ κ² μ¦ κ°μ²΄μ 맀κ°λ³μ μΈν°νμ΄μ€λ§ λͺ νν μλ©΄ μ¬μ©ν μ μμ 보ν΅μ κ°μ²΄μ μΈλΆ λ΄μ©μ λͺ¨λ₯Έ μ± κ°μ²΄μ μ¬μ©λ²λ§ μκ³ μ¬μ©νλ€λ λ»
μ 보μλ
:μΈλΆμμ μ½λ λ΄λΆλ₯Ό λ³Ό μ μκ² νκΈ° μν΄ λ΄λΆμ μ 보λ₯Ό μ¨μλ κ°λ
μΊ‘μνμ μ 보 μλμΌλ‘ ννμ λ€λ₯΄κ² νμ§λ§ λ λ€ μ½λμ λ΄λΆμ ꡬνμ μ ν΄μ μΈλΆμμ μ½κ² μ¬μ©, μΈλΆμ μΈ λ΄μ©μ λͺ¨λ₯΄κ² νλ κ²μ΄ λΉμ·ν¨