λλ 첫 μΈμ΄λ₯Ό Javaλ‘ μμνκΈ° λλ¬Έμ κ°μ²΄μ ν΄λμ€μ λν μ΄ν΄λκ° μ‘°κΈ μλ νΈμ΄λ€.
λ€λ₯Έ μΈμ΄λ₯Ό νμλ , νμ§ μμλ μ¬λ¬λΆλ€μ κ°μ²΄λ₯Ό λ§μ΄ μ¬μ©νμλ€.
μ²μμλ λ§ νλ―μ΄ νμ΄μ¬μ λͺ¨λ κ²μ΄ κ°μ²΄λΌλ μ μ μκ°ν΄λ³Έλ€λ©΄, κ°μ²΄μ λνμ¬ νμ΅νλ κ²μ΄ κ·Έλ€μ§ ν° μ΄λ €μμ΄ μκΈΈ λ°λλ€.
κ°μ²΄μ ν΄λμ€λ 무μμΈκ°?
κ°μ²΄λ
μμ μ¬μ§μΌλ‘ 보μλ©΄, μ°λ¦¬κ° λ§μ½ μλμ°¨ 곡μ₯μ μ΄μνλ€κ³ μΉμ.
κ·Έλ λ€λ©΄ λ€μκ³Ό κ°μ μμλ‘ μλμ°¨ 곡μ μ΄μμ΄ λ κ²μ΄λ€.
- μλμ°¨ ν μμ± - > (ν΄λμ€)
- μλμ°¨ νμ μ¬λ¬ μλμ°¨λ₯Ό μ°κΈ° μν΄μ μλμ°¨ λͺ¨μμ μ£Όλ¬Όμ μ΄μ©νλ€.
- μλμ°¨ νλ‘ μλμ°¨ μμ± - > (λ©μλ)
- μλμ°¨ νλ‘ μ¬μ©μκ° μνλ κΈ°λ₯μ μ΅μ λ€μ μΆκ°νμ¬ μλμ°¨λ₯Ό μμ±νλ€.
- μλμ°¨ ν맀 - > (κ°μ²΄)
- κ°μ κΈ°μ’ μ΄μ§λ§ κ°κ° λ€λ₯Έ μ°¨ λ²νΈμ μλμ°¨κ° μμ°λλ€.
μ΄λ° μμΌλ‘ μμ°νλ©΄ μ 무 ν¨μ¨μ±μ΄ μ¦κ°νλλ°, μ΄λ¬ν λ°©μμ΄ λ°λ‘ νλ‘κ·Έλλ° μΈμ΄μμμ κ°μ²΄μ λ©μλ, ν΄λμ€κ° λλ€.
ν΄λμ€ μ μΈνκΈ° : class
class Person():
pass
μμλ‘μ¨ Person
μ΄λΌλ ν΄λμ€λ₯Ό λ§λ€κ³ pass
λ‘ μ무κ²λ μννμ§ μλ ν΄λμ€λ₯Ό λ§λ€μλ€. μ΄μ μ΄ ν΄λμ€λ₯Ό κ°μ²΄νμμΌλ³΄μ.
class Person():
pass
someone = Person()
someone = Person()
μ΄λΌλ μ½λκ° μνλλ©΄μ Person()
ν΄λμ€λ‘λΆν° Personμ κ°μ²΄κ° μμ±λκ³ someone
μ΄λΌλ λ³μμ κ°μ²΄λ₯Ό ν λΉνμλ€.
λ©μλ : def
λ©μλ : λ©μλ λλ λ©€λ² ν¨μλ κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μμ κ°μ²΄κ³Ό κ΄λ ¨λ μλΈ λ£¨ν΄ μ΄λ©° λ°μ΄ν°μ λ©€λ² λ³μμ λν μ κ·Ό κΆνμ κ°λλ€. ν΄λμ€ κΈ°λ° μΈμ΄μμ ν΄λμ€ λ΄λΆμ μ μλμ΄ μλ€. λ©μλλ νλ‘κ·Έλ¨μ΄ μ€νλκ³ μμλ ν΄λμ€μμ μμ±λ μΈμ€ν΄μ€μ κ΄λ ¨λ λμμ μ μνλ€.
μ¬μ μ μλ―Έλ‘ λ©μλμΈλ° λ무 λ§μ΄ μ΄λ ΅λ€... μ½κ² λ§ν΄ λ©μλλ ν΄λμ€ λ΄μ μ μλ ν¨μλ₯Ό λ»νλ€.
μ΄μ μ¬μ© λ°©λ²μ λν΄μ μμ보μ
μ¬μ© λ°©λ²
def λ©μλμ΄λ¦(self):
ꡬν λͺΈμ²΄
self
: κ°μ²΄μ μΈμ€ν΄μ€ κ·Έ μ체λ₯Ό μλ―Ένλ©°, Java λν selfκ° μ‘΄μ¬νμ§λ§ νλ‘κ·Έλλ¨Έ λμ 보μ΄μ§ μλλ€. νμ§λ§ Pythonμ ν΄λμ€μμ λ©μλλ₯Ό μ μν λ κΌ self
λ₯Ό λͺ
μν΄μΌ νκ³ κ·Έ λ©μλλ₯Ό λΆλ¬μ¬ λλ self
κ° μλμΌλ‘ μ λ¬λλ€.
νΈμΆ λ°©λ²μ ν΄λμ€λͺ .λ©μλμ νμμΌλ‘ νΈμΆνλ€.
κ°μ²΄ μ΄κΈ°ν λ©μλ : __init__
(μμ±μ)
κ°μ²΄ μ΄κΈ°ν λ©μλλ. κ°μ²΄λ₯Ό μμ±ν μμ± μμ μ μνλμ΄μΌν νΉλ³ν μ½λλ₯Ό μΌμ»«λλ°, λ€μ μμ μ κ°μ΄ μμ± μμ μ
κ°μ²΄μκ² μ΄λ¦μ λΆμ¬ν΄μ£Όλ κ°μ²΄λ₯Ό λ§λ€μ΄λ³΄μ.
class Person():
def __init__(self, name):
self.name = name
student = Person('jang')
print(student.name)
>>
jang
Person
ν΄λμ€ μμ±- κ·Έλ₯ ν΄λμ€λ₯Ό μμ±νλ€.
def __init__(self, name):
κ°μ²΄ μ΄κΈ°ν ν¨μ μμ±self
μΈμλ κ°μ²΄ μμ μ κ°λ¦¬ν€λ μν μ νλ€. ν΄λμ€μμ__init__()
μ μ μν λ 첫 λ²μ§Έ 맀κ°λ³μλ‘ κΌ selfμ¬μΌ νλ€.
student = Person('jang')
κ°μ²΄ ν λΉstudent
μ Person()ν΄λμ€μ κ°μ²΄λ₯Ό ν λΉνμκ³ , 맀κ°λ³μname
μ jangλ‘ λ겨주μλ€.
λκΈ