Home > CS > 2024 > ๐Ÿ’พ [CS] API(Application Programming Interface)

๐Ÿ’พ [CS] API(Application Programming Interface)
CS

๐Ÿ’พ [CS] API(Application Programming Interface)

  • API(Application Programming Interface) ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.
    • ์‰ฝ๊ฒŒ ๋งํ•ด์„œ , API๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์ด๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ฑฐ๋‚˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๊ทœ์น™๊ณผ ๋„๊ตฌ๋“ค์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค.

1๏ธโƒฃ API์˜ ์ฃผ์š” ๊ฐœ๋….

  • 1. ์ธํ„ฐํŽ˜์ด์Šค
    • API๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์ด ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์ด๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์–ด๋–ป๊ฒŒ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ์ •์˜ํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.
      • ์ด ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์–ด๋–ค ๋ฐ์ดํ„ฐ๋‚˜ ๊ธฐ๋Šฅ์ด ๋…ธ์ถœ๋˜๊ณ , ๊ทธ๊ฒƒ๋“ค์„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ทœ์ •ํ•ฉ๋‹ˆ๋‹ค.
  • 2. ์ถ”์ƒํ™”
    • API๋Š” ๋ณต์žกํ•œ ์‹œ์Šคํ…œ ๋‚ด๋ถ€์˜ ๊ตฌํ˜„ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์ˆจ๊ธฐ๊ณ , ์‚ฌ์šฉ์ž๋‚˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋งŒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
      • ์˜ˆ๋ฅผ ๋“ค์–ด, ํŒŒ์ผ์„ ์—ด๊ฑฐ๋‚˜, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋‚ด๊ฑฐ๋‚˜, ์›น ํŽ˜์ด์ง€์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋“ฑ์˜ ์ž‘์—…์„ API๋ฅผ ํ†ตํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • 3. ๋ชจ๋“ˆํ™”
    • API๋Š” ํŠน์ • ๊ธฐ๋Šฅ์ด๋‚˜ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ๋ชจ๋“ˆํ™”ํ•ฉ๋‹ˆ๋‹ค.
      • ์ด๋ ‡๊ฒŒ ๋ชจ๋“ˆํ™”๋œ API๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๊ฐ€ ์‹œ์Šคํ…œ์˜ ๋‹ค๋ฅธ ๋ถ€๋ถ„์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ  ๋…๋ฆฝ์ ์œผ๋กœ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • 4. ํ‘œ์ค€ํ™”
    • API๋Š” ํ‘œ์ค€ํ™”๋œ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ธฐ๋Šฅ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์—, ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž๋‚˜ ์‹œ์Šคํ…œ์ด ์ผ๊ด€๋œ ๋ฐฉ์‹์œผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
      • ์˜ˆ๋ฅผ ๋“ค์–ด, REST API๋Š” ์›น ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ํ‘œ์ค€ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

2๏ธโƒฃ API์˜ ์œ ํ˜•.

  • 1. Web API(์›น API)
    • ์›น ์„œ๋น„์Šค๋‚˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” API์ž…๋‹ˆ๋‹ค.
      • ์ฃผ๋กœ HTTP๋ฅผ ํ†ตํ•ด ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ์ฃผ๊ณ ๋ฐ›์œผ๋ฉฐ, REST, SOAP, GraphQL ๋“ฑ์ด ๊ทธ ์˜ˆ์ž…๋‹ˆ๋‹ค.
  • 2. Library API
    • ํŠน์ • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‚˜ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํ•จ์ˆ˜์™€ ํด๋ž˜์Šค๋“ค์— ๋Œ€ํ•œ ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.
      • ์˜ˆ๋ฅผ ๋“ค์–ด, Python์˜ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ œ๊ณตํ•˜๋Š” os ๋‚˜ sys ๋ชจ๋“ˆ๋„ API์˜ ์ผ์ข…์ž…๋‹ˆ๋‹ค.
  • 3. Operating System API
    • ์šด์˜ ์ฒด์ œ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” API์ž…๋‹ˆ๋‹ค.
      • ์˜ˆ๋ฅผ ๋“ค์–ด, Windows API๋Š” ์œˆ๋„์šฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์šด์˜ ์ฒด์ œ์˜ ๊ธฐ๋Šฅ(ํŒŒ์ผ ๊ด€๋ฆฌ, UI ๊ตฌ์„ฑ ์š”์†Œ, ๋„คํŠธ์›Œํฌ ๋“ฑ)์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  • 4. Database API
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์œ„ํ•ด ์ œ๊ณต๋˜๋Š” API์ž…๋‹ˆ๋‹ค.
      • JDBC(Java Database Connectivity)๋Š” ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค API์ž…๋‹ˆ๋‹ค.

3๏ธโƒฃ API์˜ ์˜ˆ.

  • Google Maps API
    • ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž์‹ ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ง€๋„ ๊ธฐ๋Šฅ์„ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ๋„๋ก Google์—์„œ ์ œ๊ณตํ•˜๋Š” API์ž…๋‹ˆ๋‹ค.
  • Twitter API
    • ๊ฐœ๋ฐœ์ž๊ฐ€ ํŠธ์œ„ํ„ฐ์˜ ๊ธฐ๋Šฅ(์˜ˆ: ํŠธ์œ— ๊ฐ€์ ธ์˜ค๊ธฐ, ํŠธ์œ— ์ž‘์„ฑ)์„ ์ž์‹ ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ๊ณต๋˜๋Š” API์ž…๋‹ˆ๋‹ค.
  • Payment Gateway API
    • PayPal์ด๋‚˜ Stripe ๊ฐ™์€ ๊ฒฐ์ œ ์„œ๋น„์Šค์—์„œ ์ œ๊ณตํ•˜๋Š” API๋กœ, ์• ํ”Œ๋ฆฌ๊ฒŒ์ด์…˜์— ๊ฒฐ์ œ ๊ธฐ๋Šฅ์„ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4๏ธโƒฃ API์˜ ์ค‘์š”์„ฑ.

  • API๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ ๋งค์šฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.
    • ๊ทธ๊ฒƒ์€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐ„์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ์ด‰์ง„ํ•˜๋ฉฐ, ์ƒˆ๋กœ์šด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ๋” ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค.
      • ๋˜ํ•œ, API๋ฅผ ํ†ตํ•ด ์™ธ๋ถ€ ์‹œ์Šคํ…œ์ด๋‚˜ ์„œ๋น„์Šค์™€ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์–ด, ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.