μ νλ‘ν μ½μ μꡬμ¬νμ
private
μΌλ‘ λ μ μμκΉ?
ꡬνλΆμμprivate(set)
,fileprivate
μΌλ‘ ꡬνν μλ μμ§λ§β¦ μꡬμ¬νμΌλ‘ κ°μ νλ κ²μ λΆκ°νλ€.
μ΄μ λν κ³ λ―Όμ νλ€, πΒ ν λΌμ± (κ°μ²΄μ§ν₯μ μ¬μ€κ³Ό μ€ν΄)μμ ννΈλ₯Ό μ»μλ€.
κ°μ²΄κ° λ€λ₯Έ κ°μ²΄μ μνΈμμ©ν μ μλ μ μΌν λ°©λ²μ΄ λ©μμ§ μ μ‘ (λ©μμ§) μΈλ°,
κ·Έ λ©μμ§μ μ§μ μ μΈ λ°©λ²μ΄ μλ κ°μ μ μΈ λ°©λ²μΌλ‘ κ°λ₯νκ² νκ³ , μ μ°μ±μ λΆμ¬νλκ² "μΈν°νμ΄μ€" μ΄λ€.
κ·Έ μΈν°νμ΄μ€κ° swift μμλ νλ‘ν μ½μ΄λ, κ²°κ΅ νλ‘ν μ½μ μ‘΄μ¬ μ΄μ κ° λ€λ₯Έ κ°μ²΄κ° "λ©μμ§βμ μ©μ΄νκ² νλ κ²!
λ©μμ§μ ν λ, λ°λ(ꡬνλΆ)λ₯Ό μ¨κΈ°κ³ ν€λ(μꡬμ¬ν) λ§ λ ΈμΆνκ² ν¨μΌλ‘μ κΌ νμν βμμ²βμ λν λ΄μ©λ§ λ ΈμΆνκ³ λ©μμ§μ λ°μ κ°μ²΄μμ ν΄λΉ μμ²μ λ°λ₯Έ λ‘μ§μ μμμ μ²λ¦¬νκ²λ νλ κ²μ΄ μλκΉ! (μν κ³Ό μ± μ)
κ·ΈλΌ μ μ΄μ μ£Όμ μ‘΄μ¬ λͺ©μ μ€ νλκ° κ°μ²΄κ° βλ©μμ§β μΈ νλ‘ν μ½μ μꡬμ¬νμ private
μΌλ‘ μλν νλ€λκ² λ§μ΄ μλλ κ²μ΄κ΅¬λ!
νλ‘ν μ½μ μ‘΄μ¬μ΄μ λ₯Ό κ°μ²΄μ§ν₯μ μΌλ‘ μ΄ν΄νμ§ λͺ»νμλ κ² κ°λ€β¦
+) Sesac λ©ν μΈ πμλ°μκ² λ€μ insight
μ΄λ ν μΈ‘λ©΄μμ 보면 protocol μ체λ₯Ό private, fileprivate μΌλ‘ λ§λ€μ΄ μ€μΌλ‘μ μλνλ₯Ό κΎν μλ μμ κ² κ°λ€.
λ κΈ°λ³Έ internal μ κ·Όμ μ΄μκ° λΆμ΄μλλΌλ μ€μ νμ μμλ μ¬λ¬ λͺ¨λ (μ°λ¦¬κ° κ°λ°νλ νλμ μ± νλ‘μ νΈ λ¨μ...) μ λΆμ¬μ μΈ μ μλ κ²½μ°κ° μλλ°, public μ λΆμ¬μ£Όμ§ μλ μ΄μ λ€λ₯Έ λͺ¨λ κ°μ νλ‘ν μ½ ν΅μ μ λΆκ°λ₯ν΄μ§λκΉ "λͺ¨λ κ°μ μλνλ μ΄λ£¨μ΄μ§λ€" λΌλ μΈ‘λ©΄μΌλ‘ λ³Ό μλ μμ κ² κ°λ€!
μ λ κΆκΈν΄μ ꡬκΈλ§μ€ κ°μ κΆκΈμ¦μ κ°κ³ κ³μ ¨λ λΆμ μ°Ύμλ€μ!
μ’μ μν°ν΄ κ°μ¬ν©λλ€!