[DEV] Framework, Library , API :: κ°λ
μ 리
2021. 1. 12. 00:07γπ§π»π» iOS κ°λ°/iOS
ν΄λΉ κΈμ κ°μΈμ μΌλ‘ 곡λΆν κ²μ μ 리ν κ²μ λλ€. λΆμ‘±ν λΆλΆμ΄ μμ μ μμΌλ μ°Έκ³ νμκΈΈ λ°λλλ€.
Framework , Library , API ?
λ€μ ν¬μ€ν μμ λ€λ£° Cocoa Frameworkμ λν΄μ μμ보기 μ μ Framework, Library, API κ°λ κ³Ό κ·Έ μ°¨μ΄λ€μ μ§κ³ λμ΄κ°λ©΄ μ’μ κ² κ°μ΅λλ€.
- Framework (νλ μ μν¬)
νλ μ μν¬λ κ°λ°μμκ² μΌμ μμλ€κ³Ό ν(κ·μΉ, κ·μ½)μ μ 곡νμ¬ νΉμ νλ‘κ·Έλ¨μ κ°λ°νκ²λ νλ κ²μ λλ€. λ¨μ΄ λ» κ·Έλλ‘ (λΌλλ₯Ό κ°μ§κ³ μΌνλ κ²)μ΄μ£ . κ°λ°μκ° μ΄ μ΄λ μ λμ λΌλλ₯Ό μ 곡λ°μ κ·Έ μμμ μΌκ΄μ±, μμ°μ±, ν΅ν©μ±μ λ릴 μ μκ² λλ κ²μ λλ€. μν€μμλ νλ μ μν¬λ₯Ό νΉμ νλ‘κ·Έλ¨μ λ§λ€κΈ° μν΄μ μνΈ νλ ₯νλ ν΄λμ€μ μΈν°νμ΄μ€μ μ§ν©μΌλ‘ μ μνκ³ μμ΅λλ€. - Library (λΌμ΄λΈλ¬λ¦¬)
λΌμ΄λΈλ¬λ¦¬λ νΉμ κΈ°λ₯μ λν ν¨μ λ λꡬλ€μ λͺ¨μ λμ μ§ν©μ λλ€. κ°λ°μλ€μ΄ λ¨μ νμ© κ°λ₯ν λꡬλ€μ μ§ν©μ λ»ν©λλ€. - νλ μμν¬μ λΌμ΄λΈλ¬λ¦¬μ μ°¨μ΄
μΌν λ€μΌλ©΄ λ λ€ κ°λ°μκ° νλ‘κ·Έλλ°νλλ° νμν κ²μ λͺ¨μλ κ²μ΄κ΅¬λ λΌκ³ μ΄ν΄ν μ μμ§λ§ μ΄ νλ μμν¬μ λΌμ΄λΈλ¬λ¦¬μλ ν° μ°¨μ΄κ° μμ΅λλ€. λ°λ‘ νλ¦μ λν μ μ΄μΈλ°μ. νλ μ μν¬λ μ체μ μΌλ‘ μ 체μ μΈ νλ¦(Flow)μ κ°μ§κ³ μμ΅λλ€. νλ μμν¬λ κ°λ°μκ° κ·Έ μμ νμν μ½λλ₯Ό μμ±ν΄ μ§μ΄λ£λ λ°λ©΄ λΌμ΄λΈλ¬λ¦¬λ κ°λ°μκ° νλ¦μ λν μ μ΄λ₯Ό νλ©° νμν μν©μ κ°μ Έλ€ μ°λ κ²μ λλ€. μ΄λ₯Ό νλ μμν¬λ μ μ΄μ μμ (Inversion Of Control)μ΄ μ μ©λμ΄μλ€κ³ λ§ν©λλ€.
μ μ΄μ μμ (Inversion Of Control)μ΄λ μ ν리μΌμ΄μ μ€ν νλ¦μ νλ μμν¬ μμ²΄κ° κ°μ§κ³ μμ΄μ κ°λ°μμ μ½λκ° νλ μμν¬μ μν΄ μ¬μ©λλ κ²μ λλ€. μ¦, μ΄λ ν μΌμ νλλ‘ λ§λ€μ΄μ§ νλ μμν¬μ μ μ΄μ κΆνμ λκΉμΌλ‘μ¨ ν΄λΌμ΄μΈνΈ μ½λκ° μ κ²½ μ¨μΌ ν κ²μ μ€μ΄λ μ λ΅μ λλ€. λΉμ λ₯Ό νμλ©΄ λ Έμ μ΄ μ ν΄μ Έ μλ λΉ κΈ°μ°¨κ° νλ μμν¬μ΄κ³ μ¬λμΈ κ°λ°μκ° λ§μΉλ λͺ» κ°μ λκ΅¬μΈ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©ν΄ κΈ°μ°¨μΈ νλ‘κ·Έλ¨μ μμ±νλ κ²μ λλ€. κ·Έλ¦¬κ³ κ°λ°μκ° νλ μ μν¬μμμ μ½λλ₯Ό μ¬μ©νμ¬ κΈ°μ°¨λ₯Ό μ΄μ νκ±°λ μ‘°μ’ νμ£ κ·Έλ λ€κ³ μ΄ κΈ°μ°¨κ° κ³ μλλ‘λ₯Ό λ¬λ¦¬κ±°λ λ°λ€ μμ λ λ€λμ§ μμ κ²λλ€. λ¬΄μ¨ λ§μΈμ§ λμΆ© κ°μ΄ μ€μλμ? - API ( Applicaition Programming Interface )
μν€μμλ APIλ₯Ό μμ©νλ‘κ·Έλ¨μμ μ¬μ©ν μ μλλ‘, μ΄μ 체μ λ νλ‘κ·Έλλ° μΈμ΄κ° μ 곡νλ κΈ°λ₯μ μ μ΄ν μ μκ² λ§λ μΈν°νμ΄μ€λΌκ³ μ μνκ³ μμ΅λλ€. μΈν°νμ΄μ€λΌλ ννμ΄ λ μΌκ΅΄ μ¬μ΄λΌλ λ§μ΄μ£ ? μ΄λ€ κΈ°λ₯μ μ 곡νλ μ΄μ체μ , νλ‘κ·Έλ¨λ€κ³Ό μν΅νλ λ°©λ², κ·μΉμ λ» ν©λλ€. λΉμ λ₯Ό λ€μλ©΄ κΈ°μ°¨λ₯Ό λ§λ€ λ λμκ² μλ 컀λ€λ ν©νμ΄ νμνλ©΄ μ μ² μμ κ°μ μꡬνλ λ°©μμ λ»νλ κ²μ΄μ£ . μ΄λ€ κΈ°λ₯μ μ¬μ©νκ³ μΆμΌλ©΄ μ΄ κ³³μΌλ‘ μ°κ²°νμ λΌλ 곡ν΅λ μ½μμ λ§λ€μ΄ λμ κ²μ΄ APIμ λλ€.
Reference
'π§π»βπ» iOS κ°λ° > iOS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[iOS & Swift 5.3+] @main : typeκΈ°λ°μ νλ‘κ·Έλ¨ μ§μ μ (0) | 2021.04.01 |
---|---|
[Design Pattern] MVC pattern (Model View Controller) (0) | 2021.01.14 |