Home
>
CS
>
2024
>
πΎ [CS] APIμμμ μΈν°νμ΄μ€μ μννΈμ¨μ΄ 곡νμμμ μΈν°νμ΄μ€ κ°λ
.
CS
πΎ [CS] APIμμμ μΈν°νμ΄μ€μ μννΈμ¨μ΄ 곡νμμμ μΈν°νμ΄μ€ κ°λ
.
-
APIμμμ μΈν°νμ΄μ€μ μννΈμ¨μ΄ 곡νμμμ μΈν°νμ΄μ€λ μ μ¬ν κ°λ
μ 곡μ νμ§λ§, ꡬ체μ μΈ μ¬μ© λ§₯λ½κ³Ό λ²μμμ μ½κ°μ μ°¨μ΄κ° μμ΅λλ€.
- λ κ°λ
λͺ¨λ μΆμνλ μνΈμμ©μ κ·μΉμ μ μνλ€λ 곡ν΅μ μ΄ μμ§λ§, λ€μκ³Ό κ°μ μ°¨μ΄μ κ³Ό μ μ¬μ μ΄ μμ΅λλ€.
1οΈβ£ 곡ν΅μ .
1οΈβ£ μΆμνλ μνΈμμ© κ·μΉ.
- λ κ°λ
λͺ¨λ μνΈμμ©νλ μμ€ν
μ΄λ λͺ¨λ κ°μ κ·μΉμ μ μν©λλ€.
- APIμ μννΈμ¨μ΄ 곡νμμμ μΈν°νμ΄μ€ λͺ¨λ μΈλΆμμ λ΄λΆμ ꡬν μΈλΆ μ¬νμ μ νμ μμ΄ μ 곡λ κ·μΉμ λ°λΌ νΉμ κΈ°λ₯μ μ¬μ©ν μ μλλ‘ ν©λλ€.
2οΈβ£ κ³μ½(Contract) μν .
- κ³μ½μ²λΌ, μΈν°νμ΄μ€λ μ΄λ€ κΈ°λ₯μ΄ μ 곡λκ³ , κ·Έ κΈ°λ₯μ΄ μ΄λ»κ² νΈμΆλλμ§λ₯Ό κ·μ ν©λλ€.
- μ¬μ©μλ(λλ ν΄λΌμ΄μΈνΈ)λ μ΄ κ³μ½μ λ°λΌ μΈν°νμ΄μ€λ₯Ό νΈμΆνκ³ μ¬μ©νκ² λλ©°, λ΄λΆ ꡬνκ³Όλ λ
립μ μΌλ‘ λμν μ μμ΅λλ€.
3οΈβ£ ꡬνμ λ
립μ±.
- APIμ μννΈμ¨μ΄ 곡νμμμ μΈν°νμ΄μ€ λͺ¨λ ꡬνμ λ
립μ μ
λλ€.
- μ΄λ μ¬μ©μκ° μΈν°νμ΄μ€λ₯Ό ν΅ν΄ κΈ°λ₯μ νΈμΆνμ§λ§, ꡬνμ΄ μ΄λ»κ² μ΄λ£¨μ΄μ§λμ§λ μ€μνμ§ μλ€λ μμΉμ λ°λ¦
λλ€.
- μ΄λ₯Ό ν΅ν΄ ꡬν λ³κ²½μ΄ μ΄λ£¨μ΄μ Έλ μΈν°νμ΄μ€κ° λμΌνκ² μ μ§λλ€λ©΄, μμ€ν
κ°μ μνΈμμ©μλ μν₯μ΄ μμ΅λλ€.
2οΈβ£ μ°¨μ΄μ .
1οΈβ£ APIμμμ μΈν°νμ΄μ€
-
λ²μ
- APIμμμ μΈν°νμ΄μ€λ μ£Όλ‘ μμ€ν
κ° μνΈμμ©μ μ μ©ν©λλ€.
- μΈλΆ μ ν리μΌμ΄μ
μ΄λ μλΉμ€κ° μ 곡νλ κΈ°λ₯μ νΈμΆν μ μλ λ°©λ²μ μ 곡νλ©°, μ΄λ μΉ μλΉμ€(API)λ μΈλΆ λͺ¨λκ³Όμ ν΅μ μ μ€μ μ λ‘λλ€.
-
μ¬μ© λ§₯λ½
- μ£Όλ‘ μΉ API, λΌμ΄λΈλ¬λ¦¬ API λ±μ μ¬μ©λλ©°, ν΄λΌμ΄μΈνΈ API μ 곡μμ κ·κ²©μ λ§μΆ° κΈ°λ₯μ μ¬μ©ν μ μλλ‘ ν©λλ€.
- API μΈν°νμ΄μ€λ μ£Όλ‘ ν¨μ, λ©μλ, HTTP μμ² λ±μ ν΅ν μνΈμμ©μ λ€λ£Ήλλ€.
- μ: RESTful APIμμμ HTTP λ©μλ(GET, POST λ±), API νΈμΆ μ μ 곡λλ μλν¬μΈνΈμ νλΌλ―Έν°, κ·Έλ¦¬κ³ λ°νλλ λ°μ΄ν° νμ λ±μ΄ API μΈν°νμ΄μ€μ ν¬ν¨λ©λλ€.
2οΈβ£ μννΈμ¨μ΄ 곡νμμμ μΈν°νμ΄μ€
-
λ²μ
- μννΈμ¨μ΄ 곡νμμμ μΈν°νμ΄μ€λ ν΄λμ€λ λͺ¨λ κ°μ μνΈμμ©μ μ μν©λλ€.
- μΈν°νμ΄μ€λ κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°(OOP)μμ μ¬μ©λλ©°, νΉμ ν΄λμ€λ λͺ¨λμ΄ μ΄λ€ λ©μλλ μμ±μ μ 곡ν΄μΌ νλμ§λ₯Ό μ μν©λλ€.
-
μ¬μ© λ§₯λ½
- μ£Όλ‘ κ°μ²΄ μ§ν₯ μΈμ΄(Java, C++, Python λ±)μμ μ¬μ©λλ κ°λ
μΌλ‘, μΈν°νμ΄μ€λ ν΄λμ€μ νμ κ³μ½μ μ μν©λλ€.
- ν΄λμ€κ° νΉμ μΈν°νμ΄μ€λ₯Ό ꡬννλ©΄, ν΄λΉ μΈν°νμ΄μ€μμ μꡬνλ λ©μλλ₯Ό λͺ¨λ μ μν΄μΌ ν©λλ€.
-
μμ
- Javaμμμ μΈν°νμ΄μ€λ ν΄λμ€κ° ꡬνν΄μΌ ν λ©μλμ λͺ©λ‘μ μ μνλ©°, μ΄λ₯Ό ν΅ν΄ λ€νμ±(Polymorphism)μ μ§μν©λλ€.
- μλ₯Ό λ€μ΄, μ¬λ¬ ν΄λμ€κ° λμΌν μΈν°νμ΄μ€λ₯Ό ꡬννμ¬ λμΌν λ©μλλ₯Ό λ€λ₯΄κ² μ μν μ μμ΅λλ€.
3οΈβ£ κ°λ
μ μ μ¬μ±κ³Ό μ°¨μ΄μ μμ½.
- API μΈν°νμ΄μ€λ μΈλΆ μμ€ν
κ³Όμ μνΈμμ©μ μν κ·μΉμ μ μνλ©°, μ£Όλ‘ μλΉμ€ μ 곡μ μν΄ μμ€ν
μ΄λ μ ν리μΌμ΄μ
μμ κΈ°λ₯μ μ 곡ν λ μ¬μ©λ©λλ€.
- μΉ API, λΌμ΄λΈλ¬λ¦¬ API λ± μΈλΆ νλ‘κ·Έλ¨μ΄ νΈμΆν μ μλ λ°©λ²μ μ€λͺ
ν©λλ€.
- μννΈμ¨μ΄ 곡νμμμ μΈν°νμ΄μ€λ κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μμ ν΄λμ€λ λͺ¨λ κ°μ μνΈμμ© κ·μΉμ μ μν©λλ€.
- μ£Όλ‘ λ€νμ±κ³Ό ꡬν λ
립μ±μ μ§μνλ©°, μ¬λ¬ ν΄λμ€κ° λμΌν μΈν°νμ΄μ€λ₯Ό ꡬνν μ μλλ‘ ν©λλ€.
4οΈβ£ κ²°λ‘ .
-
APIμμμ μΈν°νμ΄μ€λ μΈλΆ μμ€ν
μ΄ μνΈμμ©ν μ μλλ‘ κΈ°λ₯μ μ 곡νλ λ°©λ²μ κ·μ νκ³ , μννΈμ¨μ΄ 곡νμμμ μΈν°νμ΄μ€λ ν΄λμ€λ λͺ¨λ κ°μ κ³μ½μΌλ‘μ, κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μμ λ€νμ±μ μ§μνλ λ° μ€μ μ λ‘λλ€.
- λ κ°λ
μ μνΈμμ© κ·μΉμ μ μνλ 곡ν΅μ μΈ κ°λ
μ 곡μ νλ©°, ꡬνκ³Ό μΆμνμ μμΉμ κΈ°λ°νκ³ μμ§λ§, μ¬μ©λλ λ§₯λ½κ³Ό λ²μλ λ€λ¦
λλ€.