iOS 🍎/Swift

Swift19 - μ΅μŠ€ν…μ…˜

yongmin.Lee 2021. 2. 10. 16:18

Extensions

Extensions add new functionality to an existing class, structure, enumeration, or protocol type. 

Extensions in Swift can:

  • Add computed instance properties and computed type properties
  • Define instance methods and type methods
  • Provide new initializers
  • Define subscripts
  • Define and use new nested types
  • Make an existing type conform to a protocol

 

μ΅μŠ€ν…μ…˜μ΄λž€?

- μ΅μŠ€ν…μ…˜μ€ κ΅¬μ‘°μ²΄, 클래슀, μ—΄κ±°ν˜•, ν”„λ‘œν† μ½œ νƒ€μž…μ— μƒˆλ‘œμš΄ κΈ°λŠ₯을 μΆ”κ°€ ν•  수 μžˆλŠ” κΈ°λŠ₯

- μ΅μŠ€ν…μ…˜μ€ νƒ€μž…μ— μƒˆλ‘œμš΄ κΈ°λŠ₯을 μΆ”κ°€ν•  μˆ˜λŠ” μžˆμ§€λ§Œ, 기쑴에 μ‘΄μž¬ν•˜λŠ” κΈ°λŠ₯을 μž¬μ •μ˜ν•  μˆ˜λŠ” μ—†μŠ΅λ‹ˆλ‹€.

- 기쑴에 μ‘΄μž¬ν•˜λŠ” νƒ€μž…μ΄ μΆ”κ°€μ μœΌλ‘œ λ‹€λ₯Έ ν”„λ‘œν† μ½œμ„ 채탯할 수 μžˆλ„λ‘ ν™•μž₯ν•  μˆ˜λ„ μžˆλ‹€

 

μ΅μŠ€ν…μ…˜ vs 상속

- 클래슀의 상속은 클래슀 νƒ€μž…μ—μ„œλ§Œ κ°€λŠ₯ν•˜μ§€λ§Œ μ΅μŠ€ν…μ…˜μ€ ꡬ쑰체, 클래슀, ν”„λ‘œν† μ½œ 등에 적용이 κ°€λŠ₯

- 클래슀의 상속은 νŠΉμ • νƒ€μž…μ„ λ¬Όλ €λ°›μ•„ ν•˜λ‚˜μ˜ μƒˆλ‘œμš΄ νƒ€μž…μ„ μ •μ˜ν•˜κ³  μΆ”κ°€ κΈ°λŠ₯을 κ΅¬ν˜„ν•˜λŠ” 수직 ν™•μž₯μ΄μ§€λ§Œ, μ΅μŠ€ν…μ…˜μ€ 기쑴의 νƒ€μž…μ— κΈ°λŠ₯을 μΆ”κ°€ν•˜λŠ” μˆ˜ν‰ ν™•μž₯μž…λ‹ˆλ‹€.

- 상속을 λ°›μœΌλ©΄ κΈ°μ‘΄ κΈ°λŠ₯을 μž¬μ •μ˜ν•  수 μžˆμ§€λ§Œ, μ΅μŠ€ν…μ…˜μ€ μž¬μ •μ˜ν•  수 μ—†λ‹€

λŒ“κΈ€μˆ˜0