-
Access Control (μ κ·Ό μ μ΄)iOS/π Swift 2021. 2. 17. 19:05
μ κ·Όμ μ΄λ 'νμΌ κ° λλ λͺ¨λ κ°μ μ κ·Όμ μ νν μ μλ κΈ°λ₯' μ λλ€.
import ν λͺ¨λμμ μ κ·Όν μ μλ κΈ°λ₯μ μ ννλ μ©λλ‘ μ¬μ©λ©λλ€.
μ€μννΈμ μ κ·Όμ μ΄λ λͺ¨λκ³Ό μμ€νμΌμ κΈ°λ°μΌλ‘ μ€κ³λμμ΅λλ€.
λͺ¨λμ λ°°ν¬ν μ½λμ λ¬Άμ λ¨μ μ λλ€.
ν΅μ νλμ νλ μμν¬, λΌμ΄λΈλ¬λ¦¬, λλ μ ν리μΌμ΄μ μ΄ λͺ¨λ λ¨μκ° λ©λλ€.
μμ€νμΌμ νλμ μ€μννΈ μμ€μ½λ νμΌμ μλ―Έν©λλ€.
ν€μλμ λ°λΌ μ κ·Όν μ μλ λ²μκ° λ¬λΌμ§λλ°, 4κ°μ§λ‘ λλ μ μμ΅λλ€.
1. μμ μ΄ κ΅¬νλ κΈ°λ₯ μ μ λ΄λΆ
2. μμ μ΄ κ΅¬νλ νμΌ λ΄λΆ
3. μμ μ΄ κ΅¬νλ νμΌμ΄ ν¬ν¨λ λͺ¨λ λ΄λΆ
4. λͺ¨λμ importν λ λ€λ₯Έ λͺ¨λ λ±μ μΈλΆ
ν€μλ λ²μ λΉκ³ open λͺ¨λ μΈλΆκΉμ§ κ°λ₯ ν΄λμ€μμλ§ μ¬μ© κ°λ₯ public λͺ¨λ μΈλΆκΉμ§ κ°λ₯ Internal λͺ¨λ λ΄λΆ fileprivate νμΌ λ΄λΆ private κΈ°λ₯ μ μ λ΄λΆ open
ν΄λμ€μμλ§ μ¬μ© κ°λ₯ν μ κ·Ό μ μ΄ ν€μλ μ λλ€.
open μ κ·Ό μμ€μΌλ‘ μ§μ λ ν΄λμ€λ μμ μ΄ κ΅¬νλ λͺ¨λ λ°μ λ€λ₯Έ λͺ¨λμμ μμν μ μκ³ , μ¬μ μ λ μ μμ΅λλ€.
internal
μ κ·Ό μμ€μ λͺ μμ (explicitly) μΌλ‘ μ€μ νμ§ μμλ€λ©΄, μμμ (implicitly) μΌλ‘ μλμΌλ‘ μ€μ λλ μ κ·Ό μμ€μ λλ€.
internal λ‘ μ€μ λ κ°μ²΄λ, κ·Έ λͺ¨λμ κ°μ Έλ€ μ°λ λ€λ₯Έ λͺ¨λμμλ μ κ·Όν μ μμ΅λλ€.
private
κ°μ₯ μ νμ μΈ λ²μλ‘, κ·Έ κΈ°λ₯μ μ μνκ³ κ΅¬νν λ²μ λ΄μμλ§ μ¬μ©ν μ μμ΅λλ€.
λ²μλΌλ λ¨μ΄λ₯Ό λΈλ‘μΌλ‘ μΉνν΄μ μ΄ν΄ν΄λ λ¬΄λ¦¬κ° μλ κ² κ°μ΅λλ€.
μ μλ λΈλ‘ μ΄μΈμ extension μμκΉμ§λ§ μ κ·Όμ΄ κ°λ₯ν©λλ€.
λλ¨Έμ§ λ ν€μλ ( fileprivate, public ) λ μμ νλ§μΌλ‘λ μΆ©λΆν μ΄ν΄ν μ μκΈ° λλ¬Έμ μλ΅νμμ΅λλ€.
μ°Έκ³ μ¬ν
'μμ μμλ³΄λ€ νμμμκ° λ λμ μ κ·Ό μμ€μ κ°μ§ μ μμ΅λλ€.'
μλ₯Ό λ€μ΄, private μΌλ‘ μ μλ ν΄λμ€ λ΄λΆμμ fileprivate μ΄μμ μ κ·Όμ±μ κ°μ§ μ κ·Όμ μ΄λ₯Ό μ μν μ μμ΅λλ€.
μλ°ν μ΄μΌκΈ°νλ©΄ μ μΈμ κ°λ₯νμ§λ§, κ°μ private μΌλ‘ μ·¨κΈλ©λλ€.
λ!
'iOS > π Swift' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Swift] - Autoclosuresλ? (0) 2021.03.02 [Swift] - Subscripts (μλΈμ€ν¬λ¦½νΈ) (0) 2021.02.19 Computed Properties (κ³μ° μμ±) - Properties (0) 2021.02.02 Adopting a Protocol Using a Synthesized Implementation - Protocols (0) 2021.01.27 [Swift] Delegation (0) 2021.01.26