๊นจ์•Œ ๊ฐœ๋… ๐Ÿ“‘/๊ธฐํƒ€

API (Application Programming Interface)

interfacer_han 2023. 12. 18. 12:55

#1 ์•Œ๊ณ ๋ฆฌ์ฆ˜

#1-1

API๋Š” UI์™€ ๋น„์Šทํ•˜๋‹ค. UI๊ฐ€ ํ™”๋ฉด์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž์™€ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๊ทœ๊ฒฉ์ด๋ผ๋ฉด, API๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ผ๋ฆฌ ๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ผ๋ฆฌ ๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์™€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์œ„ํ•œ ๊ทœ๊ฒฉ์ด๋ผ๋Š” ์ ์—์„œ ๊ทธ๋ ‡๋‹ค. UI๋Š” ์ธํ„ฐํŽ˜์ด์Šค์— ๋ถˆ๊ณผํ•˜๋ฉฐ, ์‹ค์ œ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์€ ๋ฒ„ํŠผใ†์Šคํฌ๋กค๋ฐ”ใ†ํ…์ŠคํŠธ ๋ฐ•์Šคใ†์ด๋ฏธ์ง€ ๋“ฑ์ด๋‹ค. API ๋˜ํ•œ ์—„์—ฐํžˆ ์ธํ„ฐํŽ˜์ด์Šค์— ๋ถˆ๊ณผํ•˜๋ฉฐ, ์‹ค์ œ๋กœ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Google Map ์„œ๋น„์Šค๋ฅผ ์‹ค์ œ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ ๊ตฌ๊ธ€ ์„œ๋ฒ„์— ์ €์žฅ๋œ ์ง€๋„ใ†์œ„์น˜ ๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์ด์ง€ Google Map API ์ž์ฒด๊ฐ€ ์•„๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ๊ทธ์ € API ์ฆ‰, '์—ฐ๊ฒฐ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ ‘๊ทผํ•ด ๊ทธ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ด€๋ฌธ(์ธํ„ฐํŽ˜์ด์Šค)'์„ ํ†ตํ•ด ์ƒํ˜ธ์ž‘์šฉํ•  ๋ฟ์ด๋‹ค.
 

#1-2

2

๋˜ ๋‹ค๋ฅธ ์˜ˆ๋กœ, ์‡ผํ•‘๋ชฐ์—์„œ ๋ฌผ๊ฑด์„ ๊ตฌ๋งคํ•  ๋•Œ ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ์ˆœ๊ฐ„์ด ์žˆ๋‹ค. ํฐ ์‡ผํ•‘๋ชฐ์—์„  ์ž์ฒด์ ์œผ๋กœ ๊ฐœ๋ฐœํ•œ ์ฃผ์†Œ ์ฐพ๊ธฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์“ฐ๊ธฐ๋„ ํ•˜์ง€๋งŒ, ๊ทธ ์ •๋„์˜ ์—ฌ๋ ฅ์ด ์—†๋Š” ์ž‘์€ ์‡ผํ•‘๋ชฐ์—์„  ์œ„ ์Šคํฌ๋ฆฐ์ƒท์ฒ˜๋Ÿผ ์นด์นด์˜ค ์šฐํŽธ๋ฒˆํ˜ธ ์„œ๋น„์Šค๋ฅผ ๋งŽ์ด๋“ค ์‚ฌ์šฉํ•œ๋‹ค. ์œ„์™€ ๊ฐ™์ด ์นด์นด์˜ค๊ฐ€ ์ œ๊ณตํ•˜๋Š” '์ฃผ์†Œ ์ฐพ๊ธฐ API'๋Š”, ์นด์นด์˜ค ์„œ๋ฒ„์— ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒŒ ์•„๋‹ˆ๋‹ค. ํ•ด๋‹น API์— ๋Œ€ํ•ด์„œ ์นด์นด์˜ค๊ฐ€ ๋ช…์‹œํ•œ ๊ทœ์น™์— ๋”ฐ๋ผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๊ธฐ๋Šฅ์„ ์š”์ฒญํ•  ๋ฟ์ด๋‹ค.
 

#1-3

์ง€๊ธˆ๊นŒ์ง€ ์˜ˆ๋ฅผ ๋“  API๋“ค์€ ์ „๋ถ€ ๊ณต๊ฐ„ ์ •๋ณด๋ฅผ ์„œ๋น„์Šคํ•ด์ฃผ๋Š” Public API์˜€๋‹ค. API๋Š” ์ด๋ฆ„๋ถ€ํ„ฐ๊ฐ€ ์ธํ„ฐํŽ˜์ด์Šค์ธ๋งŒํผ ๊ต‰์žฅํžˆ ์ถ”์ƒ์ ์ด๊ณ  ๋„“์€ ๋ฒ”์œ„์˜ ๊ฐœ๋…์ด๋‹ค. API๋Š” ์ˆ˜ ๋งŽ์€ ๋ฒ”์ฃผ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ ๊ทธ ์ค‘์—๋Š” Java API, Kotlin API ๋“ฑ๊ณผ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ˆ˜์ค€์˜ API๋„ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฝ”ํ‹€๋ฆฐ์—์„œ fun ํ‚ค์›Œ๋“œ๋Š” ํ•จ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ •๋ง๋กœ ์ด ์•ŒํŒŒ๋ฒณ 3๊ธ€์ž๊ฐ€ ๊ทธ ์ž์ฒด๋กœ ํ•จ์ˆ˜๊ฐ€ ๋˜๋Š” ๊ฑด ์•„๋‹ˆ๋‹ค. ์–ธ์–ด ์ˆ˜์ค€ API๊ฐ€ ์ฝ”๋“œ์—์„œ fun์ด๋ผ๋Š” ํ‚ค์›Œ๋“œ๋ฅผ ์ธ์‹ํ•œ ๋’ค ์ฝ”ํ‹€๋ฆฐ์—์„œ ํ•จ์ˆ˜ ๊ด€๋ จ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ˜ธ์ถœ(ํ†ต์‹ )ํ•œ ๊ฒƒ์ด๋‹ค. ๊ฒฐ๊ตญ Google Map API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๋งฅ๋ฝ์œผ๋กœ, ์šฐ๋ฆฌ๊ฐ€ ๋ฐฅ๋จน๋“ฏ์ด ์“ฐ๋Š” ์ž๋ฐ” ์ฝ”ํ‹€๋ฆฐ ์ฝ”๋“œ๋„ ์–ธ์–ด ์ˆ˜์ค€์˜ API๋ฅผ 'ํ˜ธ์ถœ'ํ•˜๊ธฐ ์œ„ํ•œ ํ…์ŠคํŠธ์— ๋ถˆ๊ณผํ•œ ๊ฒƒ์ด์—ˆ๋‹ค. ํฐ ๋…ธ์ด๋งŒ์ฒ˜๋Ÿผ 0๊ณผ 1๋งŒ ๊ฐ€์ง€๊ณ  ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ๊ฒŒ ์•„๋‹Œ ์ด์ƒ API๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋“œ๋ฅผ ์งค ๋•Œ๋ถ€ํ„ฐ, ๋Š˜, ์–ธ์ œ๋‚˜ ์กด์žฌํ•ด์™”๋˜ ๊ฒƒ์ด๋‹ค. ํ•˜๋“œ์›จ์–ด APIใ†๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค APIใ†Window API์™€ ๊ฐ™์€ ์šด์˜์ฒด์ œ API ๋“ฑ๋„ ์ „๋ถ€ ๋‹ค ๊ฐ™์€ ๋งฅ๋ฝ์„ ๊ณต์œ ํ•œ๋‹ค.
 

#2 ์š”์•ฝ

API๋Š” ์‚ฌ์šฉ๋ฒ•์— ๋ถˆ๊ณผํ•˜๋‹ค.
 

#3 ์ด ๊ฐœ๋…์ด ์‚ฌ์šฉ๋œ ๊ธ€

 

API, Framework, SDK, Tool, Project, Architecture, IDE, Library, Package์˜ ๊ด€๊ณ„

#1 ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ•ญ์ƒ ์“ฐ์ด๋Š” ๊ฐœ๋…์ด์ง€๋งŒ ๊ทธ ๊ด€๊ณ„๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์–ด๋ ค์› ๋˜ ๊ฐœ๋…๋“ค์„ ์ •๋ฆฌํ–ˆ๋‹ค. ๋‹ค๋งŒ, ์œ„ ์ •๋ฆฌ๋Š” ์ดํ•ด๋ฅผ ๋•๊ธฐ ์œ„ํ•œ ๋น„์œ ์ผ ๋ฟ์ด๋ฉฐ, ๊ฐ ์š”์†Œ๋“ค์€ ๊ด€์ ์— ๋”ฐ๋ผ ์„ค๊ณ„๋„, ๋„๊ตฌ, ์ž‘์—…๋ฌผ์˜ ๋ฒ”์ฃผ

kenel.tistory.com