[Swift] ꡬ쑰체μ ν΄λμ€μ μ°¨μ΄
(λ³Έ λΉκ΅λ Swift5λ₯Ό κΈ°μ€μΌλ‘ μμ±νμ΅λλ€.)
ꡬ쑰체μ ν΄λμ€λ λ°μ΄ν°λ₯Ό μ©λμ λ§κ² λ¬Άμ΄μ ννν λ μ μ©ν©λλ€. ꡬ쑰체μ ν΄λμ€λ νλ‘νΌν°μ λ©μλλ₯Ό μ¬μ©νμ¬ κ΅¬μ‘°νλ λ°μ΄ν°μ κΈ°λ₯μ κ°μ§ μ μμ΅λλ€. μ¦, ꡬ쑰체μ ν΄λμ€ λͺ¨λ μλ‘μ΄ μ¬μ©μ μ μ λ°μ΄ν° νμ μ λ§λ€μ΄ μ£Όλ κ²μ λλ€.
λμ κ°μ₯ ν° μ°¨μ΄μ μ, ꡬ쑰체μ μΈμ€ν΄μ€λ κ° νμ μ¦, 볡μ¬ν κ²μ μ£Όκ³ λ°κ³ ν΄λμ€μ μΈμ€ν΄μ€λ μ°Έμ‘°(μ£Όμ)νμ μ μ£Όκ³ λ°λ κ²μ λλ€.
'무μμ μ£Όκ³ λ°λμ§'κ°, μ¦ μ£Όκ³ λ°λ λμμ΄ κ°μ₯ ν° μ°¨μ΄μ μΈ κ²μ΄μ£ . μ¬κΈ°μ μ£Όλͺ©ν΄μΌν μ μ Swift μΈμ΄ λ΄μμ μ°Έμ‘° νμ μ ν΄λμ€μ μΈμ€ν΄μ€κ° μ μΌν©λλ€. ꡬ쑰체λ₯Ό λΉλ‘―ν΄μ λ€λ₯Έ ν μ΄ν° νμ μ λͺ¨λ κ° νμ μ λλ€.
[곡ν΅μ ] μ¬μ© λͺ©μ : μλ‘μ΄ λ°μ΄ν° νμ μ μ μνκ³ κΈ°λ₯μ μΆκ°
- κ°μ μ μ₯νκΈ° μν΄ νλ‘νΌν°λ₯Ό μ μν μ μμ΅λλ€.
- κΈ°λ₯ μ€νμ μν΄ λ©μλλ₯Ό μ μν μ μμ΅λλ€.
- μλΈμ€ν¬λ¦½νΈ λ¬Έλ²μ ν΅ν΄ ꡬ쑰체 λλ ν΄λμ€κ° κ°λ κ°(νλ‘νΌν°)μ μ κ·Όνλλ‘ μλΈμ€ν¬λ¦½νΈλ₯Ό μ μν μ μμ΅λλ€.
- μ΄κΈ°νλ λμ μνλ₯Ό μ§μ νκΈ° μν΄ μ΄λμ λΌμ΄μ λ₯Ό μ μν μ μμ΅λλ€.
- μ΄κΈ°κ΅¬νκ³Ό λλΆμ΄ μλ‘μ΄ κΈ°λ₯ μΆκ°λ₯Ό μν΄ μ΅μ€ν μ (Extensioin)μ ν΅ν΄ νμ₯μ΄ κ°λ₯ν©λλ€.
- νΉμ κΈ°λ₯μ μ€ννκΈ° μν΄ νΉμ νλ‘ν μ½μ μ€μν μ μμ΅λλ€.
[μ°¨μ΄μ ] μ£Όκ³ λ°λ λμμ νμ : ꡬ쑰체 - Value, ν΄λμ€ - Reference
- ꡬ쑰체λ μμν μ μμ΅λλ€.
- νμ μΊμ€ν μ ν΄λμ€μ μΈμ€ν΄μ€μλ§ νμ©λ©λλ€.
- λμ΄λμ λΌμ΄μ λ ν΄λμ€μ μΈμ€ν΄μ€μλ§ νμ©ν μ μμ΅λλ€.
- μ°Έμ‘° νμ κ³μ°(Reference Counting)μ ν΄λμ€μ μΈμ€ν΄μ€μλ§ μ μ©λ©λλ€.
μ°Έκ³ π
- μ€μννΈ νλ‘κ·Έλλ°(3ν): κ°μ²΄μ§ν₯, ν¨μν, νλ‘ν μ½ μ§ν₯ ν¨λ¬λ€μκΉμ§ ν λ²μ!(Swift 5)
Swift - ꡬ쑰체 ν΄λμ€ - yagom's blog
yagom's blog Swift - ꡬ쑰체 ν΄λμ€
blog.yagom.net