๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ป Deep Wide Programming/์žก๋‹คํ•œ ๊ฐœ๋ฐœ ๊ด€๋ จ ๊ธฐ๋ก

[์ƒํ™œ์ฝ”๋”ฉ] UI์™€ API์˜ ์ฐจ์ด

728x90
๋ฐ˜์‘ํ˜•

UI, API๋Š” ๋‘˜๋‹ค Interface๋‹ค

UI = User Interface
API = Application programming Interface

UI๋ผ๋Š” ๋‹จ์–ด๋ฅผ ๋งŽ์ด ๋“ค์–ด๋ณด์•˜๋Š”๋ฐ, API๋Š” ๋ญ”์ง€ ๋ชฐ๋ž๋‹ค. ์•Œ๊ณ ๋ณด๋‹ˆ ๋‘˜๋‹ค Interface์˜ ๊ฐœ๋…์ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค. UI๋Š” UX์™€ ์–ธ์ œ๋‚˜ ๊ฐ™์ด ์“ฐ์ด๋Š” ๋‹จ์–ด์ธ์ค„ ์•Œ์•˜๋”๋‹ˆ, ๋˜๋‹ค๋ฅธ ์‹๊ตฌ๊ฐ€ ์žˆ์—ˆ๊ตฌ๋‚˜. ๋น„๊ฐœ๋ฐœ์ž/๊ฐœ๋ฐœ์ž๋“ค์˜ ๊ตฌ์„ธ์ฃผ '์ƒํ™œ์ฝ”๋”ฉ'์„ ๋”ฐ๋ผ UI์™€ API์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๋Š” ๊ฒƒ์„ ์‹œ์ž‘์œผ๋กœ, ์•ž์œผ๋กœ ๊ด‘ํ™œํ•œ ์ฝ”๋”ฉ์˜ ์„ธ๊ณ„์— ์กฐ๊ธˆ์”ฉ ์นœ์ˆ™ํ•ด์ ธ๋ณผ๊นŒ ํ•œ๋‹ค.


 

UI = User Interface

์ปดํ“จํ„ฐ๋ผ๋Š” ์‹œ์Šคํ…œ๊ณผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์˜ ์ ‘์ ์— ์กด์žฌํ•˜๋ฉฐ, ์‚ฌ๋žŒ์ด ์ƒ๊ฐํ•˜๋Š” ๊ฑธ ์ปดํ“จํ„ฐ์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ์ž…๋ ฅ์žฅ์น˜, ์ปดํ“จํ„ฐ์˜ ์ƒํƒœ๋ฅผ ์‚ฌ๋žŒ์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ์ถœ๋ ฅ์žฅ์น˜๊ฐ€ ๋ฐ”๋กœ UI๋‹ค. ์‚ฌ์šฉ์ž๋ฅผ ๋Œ€๋ฉดํ•˜๋Š” ์ ‘์ ์ด ๋˜๋Š” ์ง€์ ์„ ํฌ๊ด„์ ์œผ๋กœ UI๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. 

ex.์›น์—์„œ ๋ฒ„ํŠผ, ์Šคํฌ๋กค๋ฐ” ๋“ฑ๋“ฑ์„ UI๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

API = Application Programming Interface

์‰ฝ๊ฒŒ ๋งํ•ด, ์ฝ”๋“œ์˜ ํ˜•ํƒœ๋ฅผ ๋„๊ณ  ์žˆ๋Š” ๊ฐœ๋ฐœ์ž๋“ค์˜ ์ธํ„ฐํŽ˜์ด์Šค๋‹ค. ์ฝ”๋“œ๋“ค์„ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฒฐํ•ฉํ•ด์„œ application์„ ๋งŒ๋“ค๊ฒŒ ๋˜๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ์“ฐ๋Š” ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด API๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. 

ex. ๋ธŒ๋ผ์šฐ์ €์— "javascript:alert("Hello world")๋ผ๊ณ  ๊ฒ€์ƒ‰ํ•˜๋ฉด, Hello world๋ผ๊ณ  ์“ฐ์ธ ๊ฒฝ๊ณ ์ฐฝ์ด ๋œฌ๋‹ค.

javacrpit: ๋Š” ์ดํ•˜์˜ ๋‚ด์šฉ์ด javascript ์–ธ์–ด๋ผ๋Š” ์˜๋ฏธ์ด๊ณ , 

alert๋Š” ํ˜ธ์ถœ์„ ์˜๋ฏธํ•˜๋Š” API,

"Hello world"๋Š” ํ˜ธ์ถœ์˜ ๋‚ด์šฉ์„ ์˜๋ฏธํ•œ๋‹ค. 

 

=> '์›น๋ธŒ๋ผ์šฐ์ €'๋ผ๋Š” ๊ธฐ๋ฐ˜์ด ๋˜๋Š” ์‹œ์Šคํ…œ์˜ alert๊ณผ ๊ฐ™์€ interface๋ฅผ ์‘์šฉํ•ด์„œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด alert๋ผ๋Š” ํ…์ŠคํŠธ๋ฅผ ๋ธŒ๋ผ์šฐ์ €์— ์ž…๋ ฅํ•˜๋ฉด, ๊ฒฝ๊ณ ์ฐฝ์„ ๋„์›Œ์ฃผ๋Š”๋ฐ, ์ด ๊ฒฝ๊ณ ์ฐฝ์€ ๋ˆ„๊ฐ€ ๋งŒ๋“œ๋Š” ๊ฒƒ์ผ๊นŒ? ์›น๋ธŒ๋ผ์šฐ์ € ๊ฐœ๋ฐœ์‚ฌ์— ์†Œ์†๋˜์–ด ์žˆ๋Š” ๊ฐœ๋ฐœ์ž๋“ค์ด ๋งŒ๋“œ๋Š” ๊ฒƒ! ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ, ์• ํ”Œ, ๊ตฌ๊ธ€ ๋“ฑ๋“ฑ. 

 

๊นจ์•Œ ์‘์šฉํ•ด์„œ ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ž๊ธฐ์†Œ๊ฐœ ๊ฒฝ๊ณ ์ฐฝ์„ ๋„์›Œ๋ณด์•˜๋‹ค. ใ…Žใ…Ž 

 

API๋ฅผ ํ†ตํ•ด ์›น๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ œ์–ดํ•œ๋‹ค. ๊ฐœ๋ฐœ์ž์™€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹Œ์ž๋ฅผ ๊ฐ€๋ฅด๋Š” ๊ฐ€์žฅ ํฐ ์ฐจ์ด๋Š”, 

๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹Œ ์‚ฌ๋žŒ๋“ค์€ UI๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ์„ ์ œ์–ดํ•˜๊ณ , ๊ฐœ๋ฐœ์ž๋Š” API๋ฅผ ์ด์šฉํ•ด์„œ ์ž์‹ ์˜ ๋งฅ๋ฝ์— ๋งž๊ฒŒ ๊ทธ๊ฒƒ๋“ค์„ ์‘์šฉํ•ด์„œ aapplication(ex. ์›น๋ธŒ๋ผ์šฐ์ €)์„ ์ œ์–ดํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ฐœ๋ฐœ์ž๋“ค์˜ UI๊ฐ€ API๋ผ๊ณ  ๋ณด๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค. 

 

๊ทธ๋ ‡๋‹ค๋ฉด, ์›น๋ธŒ๋ผ์šฐ์ €์˜ ๋ฒ„ํŠผ, ์•„์ด์ฝ˜๋“ค์€ ๋ˆ„๊ฐ€ ๋งŒ๋“œ๋Š” ๊ฒƒ์ธ๊ฐ€?
์›น๋ธŒ๋ผ์šฐ์ €๋ฅผ ์šด์˜ํ•˜๊ณ  ์žˆ๋Š” ์šด์˜์ฒด์ œ(ex. ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์œˆ๋„์šฐ)์˜ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋ฒ„ํŠผ/์•„์ด์ฝ˜๋“ค์„ ๋ฏธ๋ฆฌ ๋งŒ๋“ค๊ณ , ์›น๋ธŒ๋ผ์šฐ์ € ๊ฐœ๋ฐœ์ž๊ฐ€ ์ด๋ฏธ ๋งŒ๋“ค์–ด์ ธ์žˆ๋Š” ์•„์ด์ฝ˜์„ ํ˜ธ์ถœํ•ด์„œ ์กฐํ•ฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๊ฒฝ๊ณ ์ฐฝ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ๋ฏธ๋ฆฌ ์ค€๋น„ํ•ด๋‘” ๊ฒƒ์ด๋‹ค. 

์›น๋ธŒ๋ผ์šฐ์ € ๊ฐœ๋ฐœ์ž๋„ ์šด์˜์ฒด์ œ๊ฐ€ ์ œ๊ณตํ•˜๋Š” API๋ฅผ ์ด์šฉํ•ด์„œ ์›น๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

 

์ด ๊ด‘ํ™œํ•œ ์„ธ๊ณ„ ์† ๋‚˜๋Š” ์–ด๋””์— ์žˆ๋‚˜

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

 

๊ฐœ๋ฐœ์ž๋Š” ๊ธฐ๋ฐ˜์ด ๋˜๋Š” ์‹œ์Šคํ…œ์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ด์šฉํ•ด์„œ ์–ด๋–ค ์‘์šฉํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“ค์–ด๋‚ธ ๊ทธ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋“ค์ด ๋‹ค์‹œ ๊ทธ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์„ ์ด์šฉํ•ด์„œ ๋˜ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ ๋‹ค๋ฉด, ์šฐ๋ฆฌ๊ฐ€ ์‹œ์Šคํ…œ/์šด์˜์ฒด์ œ์˜ ๊ฐœ๋ฐœ์ž๋ผ๋Š” ์ž…์žฅ์ด ๋˜๋Š” ๊ฒƒ์ด๋ผ๊ณ ๋„ ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 


์ฐธ๊ณ ์ž๋ฃŒ

https://youtu.be/Z4kH0IZVT-8

 

728x90
๋ฐ˜์‘ํ˜•