- νλ‘ν μ½
- νλ‘ν μ½(Protocol) μ νΉμ μν μ μννκΈ° μν λ©μλ, νλ‘νΌν°, κΈ°ν μꡬμ¬ν λ±μ μ²μ¬μ§μ μ μνλ€.
- ꡬ쑰체, ν΄λμ€, μ΄κ±°νμ νλ‘ν μ½μ μ±ν(Adopted) ν΄μ νΉμ κΈ°λ₯μ μννκΈ° μν νλ‘ν μ½μ μꡬμ¬νμ μ€μ λ‘ κ΅¬νν μ μλ€.
- μ΄λ€ νλ‘ν μ½μ μꡬμ¬νμ λͺ¨λ λ°λ₯΄λ νμ μ κ·Έ νλ‘ν μ½μ μ€μνλ€(Conform) κ³ νννλ€.
- νμ μμ νλ‘ν μ½μ μꡬμ¬νμ μΆ©μ‘±μν€λ €λ©΄ νλ‘ν μ½μ΄ μ μνλ μ²μ¬μ§μ κΈ°λ₯μ λͺ¨λ ꡬνν΄μΌ νλ€. μ¦, νλ‘ν μ½μ κΈ°λ₯μ μ μνκ³ μ μ ν λΏμ΄μ§ μ€μ€λ‘ κΈ°λ₯μ ꡬννμ§λ μλλ€.
- μ μ
- protocol ν€μλλ₯Ό μ¬μ©νμ¬ μ μνλ€.
protocol νλ‘ν μ½ μ΄λ¦ {
/* μ μλΆ */
]}
- ꡬν
<<νλ‘νΌν° μꡬ>>
- νλ‘νΌν° μꡬλ νμ var ν€μλλ₯Ό μ¬μ©νλ€.
- getμ μ½κΈ°λ§ κ°λ₯ν΄λ μκ΄ μλ€λ λ»μ΄λ©° getκ³Ό setμ λͺ¨λ λͺ μνλ©΄ μ½κΈ° μ°κΈ° λͺ¨λ κ°λ₯ν νλ‘νΌν°μ¬μΌ νλ€.
- νλ‘ν μ½ μ±ν λ° μ€μ
<<νλ‘ν μ½ μ±ν>>
- νμ λͺ : νλ‘ν μ½ μ΄λ¦
- νλ‘νΌν° μꡬλ λ€μν λ°©λ²μΌλ‘ ν΄μ, ꡬν ν μ μλ€.
- νλ‘ν μ½ μμ
- νλ‘ν μ½μ νλ μ΄μμ νλ‘ν μ½μ μμλ°μ κΈ°μ‘΄ νλ‘ν μ½μ μꡬμ¬νλ³΄λ€ λ λ§μ μꡬμ¬νμ μΆκ°ν μ μλ€.
- νλ‘ν μ½ μμ λ¬Έλ²μ ν΄λμ€μ μμ λ¬Έλ²κ³Ό μ μ¬νμ§λ§, νλ‘ν μ½μ ν΄λμ€μ λ€λ₯΄κ² λ€μ€μμμ΄ κ°λ₯νλ€.
protocol νλ‘ν μ½ μ΄λ¦: λΆλͺ¨ νλ‘ν μ½ μ΄λ¦ λͺ©λ‘ {
/* μ μλΆ */
}
<<ν΄λμ€ μμκ³Ό νλ‘ν μ½>>
- ν΄λμ€μμ μμκ³Ό νλ‘ν μ½ μ±νμ λμμ νλ €λ©΄ μμλ°μΌλ €λ ν΄λμ€λ₯Ό λ¨Όμ λͺ μνκ³ κ·Έ λ€μ μ±νν νλ‘ν μ½ λͺ©λ‘μ μμ±νλ€.
- νλ‘ν μ½ μ€μ νμΈ
- is, as μ°μ°μλ₯Ό μ¬μ©ν΄μ μΈμ€ν΄μ€κ° νΉμ νλ‘ν μ½μ μ€μνλμ§ νμΈν μ μλ€.