2022. 7. 6. 11:27γios
Swift - ν΄λμ€ μμκ³Ό μ¬μ μ
μλ νμΈμ μ€λμ swiftμμμ ν΄λμ€, μμ, μ¬μ μμ λν΄μ μμλ³΄κ² μ΅λλ€.
ν΄λμ€
ν΄λμ€λ "μΈμ€ν΄μ€λ₯Ό μμ±μν€λ ν" μ λλ€.
ν΄λμ€λ₯Ό μ€λͺ νλ μμμμλ λΆμ΄λΉ΅ νκ³Ό λΆμ΄λΉ΅μ μμλ‘ λ§μ΄ λλλ°μ, λΆμ΄λΉ΅ νμ ν΅ν΄μ λΆμ΄λΉ΅μ λ§λλ κ²μΌλ‘ λΆμ΄λΉ΅ νμ΄ μ¬κΈ°μ "ν΄λμ€"μ΄κ³ λΆμ΄λΉ΅μ΄ "μΈμ€ν΄μ€(κ°μ²΄)"μ λλ€.
ν΄λμ€λ₯Ό 곡μ₯, μΈμ€ν΄μ€λ₯Ό μ νμ΄λΌκ³ μ΄ν΄ν΄λ μ’μ κ² κ°λ€μ.
Swiftμμ ν΄λμ€λ μ΄λ»κ² μ겨μλμ§ νμΈν΄λ³΄κ² μ΅λλ€.
μμ μ½λμμ age, name, heightμ κ°μ λΆλΆλ€μ "μ μ₯ μμ±"μ΄λΌκ³ λΆλ₯΄κ³ , init() {}μ ν¨μλ₯Ό "μμ±μ" λΌκ³ λΆλ¦ λλ€.
ν΄λμ€λ₯Ό ν΅ν΄μ μΈμ€ν΄μ€λ₯Ό μμ±μν¬ λλ μ μ₯μμ±μ λͺ¨λ κ°λ€μ΄ μ΄κΈ°νλμ΄μΌ νλκ² swift κ·μΉμ λλ€.
μ΄μ Personν΄λμ€λ₯Ό ν΅ν΄μ μ¬λ¬λͺ μ μ¬λ μΈμ€ν΄μ€λ€μ λ§λ€ μ μκ² λμμ΅λλ€.
μ§κΈλ μ μ©νμ§λ§ κ°λ°μλ€μ μ΄ Person ν΄λμ€λ₯Ό μ‘°κΈ λ ꡬ체ννκ³ μΆλ€λ μκ°μ΄ λ€κ² λ©λλ€.
κ·Έλμ λμ¨ κ°λ μ΄ "μμ" μ λλ€.
StudentλΌλ ν΄λμ€λ₯Ό μλ‘ μ μνμ λ Personν΄λμ€λ₯Ό μμμν€κ² λλ©΄ Studentν΄λμ€λ Personν΄λμ€μ μμ±μ λ€μ μ μνμ§ μμλ μ¬μ©ν μ μκ² λ©λλ€.
μμκ°μ΄ μμμ κ³μ μ§ννλ€ λ³΄λ©΄ μμ±μ΄λ λ©μλλ₯Ό μ¬μ μνκ³ μΆμ κ²½μ°κ° μκΉλλ€.
μλ₯Ό λ€μ΄ Personν΄λμ€μμμ λ©μλλ₯Ό Studentμμλ μ‘°κΈ λ ꡬ체νμν€κ³ μΆμ λ λ€μκ³Ό κ°μ΄ μμ±ν©λλ€.
override ν€μλκ° μλ‘ μκΈ΄κ² λ³΄μ΄μλμ?
μ΄μ²λΌ μμ±μ΄λ λ©μλλ₯Ό μ¬μ μν λλ overrideν€μλλ₯Ό μμ±νκ³ μ¬μ μνλ©΄ λ©λλ€.
μ¬κΈ°μ Personμ "λΆλͺ¨ ν΄λμ€" Studentλ₯Ό "μμ ν΄λμ€" λΌκ³ λΆλ¦ λλ€.
νμ§λ§ μ¬μ μ ν λ μ£Όμν μ μ΄ μλλ°μ, μ€μν κ·μΉμ΄ μ‘΄μ¬νκΈ° λλ¬Έμ μμ§νλ κ²μ΄ μ’μ΅λλ€.
μ¬μ μ κ·μΉμ μμ보기 μ μ μ¬μ κ°λ μ λν΄ λ¨Όμ μμλ³΄κ² μ΅λλ€.
κ³μ°μμ±
μ μ₯μμ±μ var a: Int = 3 μ²λΌ κΈ°λ³Έμ μΈ μμ±μ λ§ν©λλ€. μ μ₯μμ±μ λλΉλλ κ°λ μ΄ μλλ° λ°λ‘ "κ³μ° μμ±"μ λλ€.
κ³μ°μμ±μ Swift ν΄λμ€μμ νΈλ¦¬νκ² μμ±κ°μ μ κ·Ό λ° μμ ν μ μλλ‘ λ§λ μμ±μΈλ° λ©μλμ²λΌ λμνλ€λ νΉμ§μ΄ μμ΅λλ€.
κ³μ°μμ± μ¬μ©λ²
λΆλͺ ν μμ±μΈλ° "μν λ λμ μΌλ‘ κ³μ°ν΄μ λ©λͺ¨λ¦¬μ μ μ₯μν¨λ€λ μ "μ΄ μλΉν μ μ©ν΄ 보μ λλ€.
μμ±κ°μμ
μμ±κ°μμλ "μ μ₯μμ±+λ³νμν¬ λ©μλ"μ ννλ‘ μμ±μ λ³νλ₯Ό κ°μν΄μ νΉμ ν λ‘μ§μ μ μ©μν€λ κ²μ λ§ν©λλ€.
ν΄λΉ μμ±μ΄ λ³νλμμ λ didSetν¨μλ₯Ό μ€νμν€λ κ²μ λ³Ό μ μμ΅λλ€. μ΄κ²μ΄ μμ±κ°μμμ λλ€.
μ΄μ μ¬μ μμ λμμΉλ€μ λν΄μ μμλ³΄κ² μ΅λλ€.
μ μ₯μμ±μ μ¬μ μν μ μλ€.
μ μ₯μμ±μ κΈ°λ³Έμ μΌλ‘ "λ©λͺ¨λ¦¬λ₯Ό μ°¨μ§νλ λ³μ"μ λλ€.
μμμ ν λ μμν΄λμ€μ λΆλͺ¨ ν΄λμ€μ μλ λ³μκ° μ§μ μ΄λνλ κ²μ΄ μλλΌ μμ ν΄λμ€μμ λΆλͺ¨ ν΄λμ€μ λ³μλ₯Ό "μ°Έμ‘°"νκ³ μκΈ° λλ¬Έμ μ¬μ μλ₯Ό ν μ μμ΅λλ€.
μμ±μ μ§μ μ¬μ μν μλ μμ§λ§ μμ±μ λ©μλμ²λΌ(μ€μ λ‘ λ©μλλ μλ) λ§λ€ μλ μμ΅λλ€.
λ°λ‘ μμμ νμ΅ν "κ³μ°μμ±"κ³Ό "μμ±κ°μμ"λ‘ λ§λλ κ²μ λλ€.
μ΄λ λ©λͺ¨λ¦¬λ₯Ό μ§μ μ΄μ©νλ κ²μ΄ μλλΌ κΈ°λ₯μ "μΆκ°"νλ κ²μ΄κΈ° λλ¬Έμ κ°λ₯ν©λλ€.
νμ§λ§ κΈ°λ³Έ μ μ₯μμ±μ "μ½κΈ°/μ°κΈ°" κ³μ°μμ±μΌλ‘ λ°κΎΈλ κ²μ κ°λ₯νμ§λ§ "μ½κΈ°"κΈ°λ₯λ§ νλ κ³μ°μμ±μΌλ‘ λ°κΎΈκΈ° λΆκ°λ₯νκΈ° λλ¬Έμ μ΄ λΆλΆλ μ°Έκ³ ν΄μ μμλμ΄μΌ ν©λλ€.
κ³μ°μμ±μ μ¬μ μ
κ³μ°μμ±μ λ©μλμ ννλ‘ μλνκΈ° λλ¬Έμ λ©μλμ ννλ‘ μ¬μ μλ₯Ό ν΄μΌν©λλ€.
κΈ°μ‘΄μ "μ½κΈ°/μ°κΈ°"μ κΈ°λ₯μ νλ κ³μ°μμ±μ "μ½κΈ°/μ°κΈ°"μ κΈ°λ₯μ νλ κ³μ°μμ±μΌλ‘ μ¬μ μκ° κ°λ₯ν©λλ€.
κ·Έλ¦¬κ³ "μ½κΈ°"μ κΈ°λ₯μ νλ κ³μ°μμ±μ "μ½κΈ°/μ°κΈ°"μ κΈ°λ₯μΌλ‘ λ§λλ κ²λ κ°λ₯ν©λλ€.
νμ§λ§ "μ½κΈ°/μ°κΈ°"λ₯Ό "μ½κΈ°"λ‘ λ°κΎΈλ κ²μ λΆκ°λ₯νκΈ°μ "κΈ°λ₯ μ μ§λ° νλλ κ°λ₯νμ§λ§ μΆμλ λΆκ°λ₯νλ€"λΌκ³ μκ³ κ³μλ©΄ λ κ² κ°μ΅λλ€.
λ©μλ μ¬μ μ
λ©μλλ μμ±κ³Ό λ€λ₯΄κ² λΆλͺ¨ν΄λμ€κ° μμν΄λμ€μ μμμ΄ λ λ μλ‘μ΄ λ°°μ΄μ ννλ‘ λ©μλλ€μ κ°μ§κ² λ©λλ€.
μ¦ μμ±μ μμν΄λμ€μμ λΆλͺ¨ν΄λμ€μ μμ±μ μ κ·Όν μ μκ² μ°Έμ‘°νκ³ μμλλ° λ©μλλ κ·Έ μμ²΄λ‘ μμ ν΄λμ€μ μλ‘κ² κ΅¬νμ΄ λμλ ννμΈ κ²μ λλ€.
μ΄λ ν΄λμ€λ§λ€ μλ‘μ΄ λ©μλκ° μκΈ°μ μ¬μ μκ° μμ λ‘μ΅λλ€.
'ios' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Swift - μμ€ν€μ½λ λ³ννκΈ° (0) | 2022.09.27 |
---|---|
iOS - Realm (0) | 2022.09.19 |
swift - μ±κΈν€ ν¨ν΄ (0) | 2022.07.05 |
Swift - μ΄κ±°ν(enum), μμκ°, μ°κ΄κ° (0) | 2022.06.30 |
Swift- inout (0) | 2022.06.28 |