#1 ์๊ณ ๋ฆฌ์ฆ
#1-1

API๋ UI์ ๋น์ทํ๋ค. UI๊ฐ ํ๋ฉด์ ํตํด ์ฌ์ฉ์์ ์ํํธ์จ์ด๊ฐ ์ํธ์์ฉํ๋ ๊ท๊ฒฉ์ด๋ผ๋ฉด, API๋ ํ๋ก๊ทธ๋๋จธ๋ผ๋ฆฌ ๋๋ ์ํํธ์จ์ด๋ผ๋ฆฌ ๋๋ ํ๋ก๊ทธ๋๋จธ์ ์ํํธ์จ์ด ๊ฐ์ ์ํธ์์ฉ์ ์ํ ๊ท๊ฒฉ์ด๋ผ๋ ์ ์์ ๊ทธ๋ ๋ค. UI๋ ์ธํฐํ์ด์ค์ ๋ถ๊ณผํ๋ฉฐ, ์ค์ ํ๋ฉด์ ๊ตฌ์ฑํ๋ ๊ฒ์ ๋ฒํผใ์คํฌ๋กค๋ฐใํ
์คํธ ๋ฐ์คใ์ด๋ฏธ์ง ๋ฑ์ด๋ค. API ๋ํ ์์ฐํ ์ธํฐํ์ด์ค์ ๋ถ๊ณผํ๋ฉฐ, ์ค์ ๋ก ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๊ฒ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค. ์๋ฅผ ๋ค์ด, Google Map ์๋น์ค๋ฅผ ์ค์ ๋ก ๊ตฌํํ๋ ๊ฒ์ ๊ตฌ๊ธ ์๋ฒ์ ์ ์ฅ๋ ์ง๋ใ์์น ๊ด๋ จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด์ง Google Map API ์์ฒด๊ฐ ์๋๋ค. ์ฌ์ฉ์๋ ๊ทธ์ API ์ฆ, '์ฐ๊ฒฐ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ ๊ทผํด ๊ทธ ๊ธฐ๋ฅ์ ํ์ฉํ ์ ์๋ ๊ด๋ฌธ(์ธํฐํ์ด์ค)'์ ํตํด ์ํธ์์ฉํ ๋ฟ์ด๋ค.
#1-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
'๊นจ์ ๊ฐ๋ ๐ > ๊ธฐํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์์กด์ฑ ์ฃผ์ (Dependency Injection) (0) | 2024.06.20 |
---|---|
REST API (REpresentational State Transfer Application Programming Interface) (0) | 2024.05.26 |
API, Framework, SDK, Tool, Project, Architecture, IDE, Library, Package์ ๊ด๊ณ (0) | 2023.12.12 |
[Java] ์ค์น, JRE์ JDK์ ์ฐจ์ด, ํ๊ฒฝ ๋ณ์ ์ค์ (2) | 2023.12.08 |
display ์์ฑ ๊ฐ block, inline, inline-block์ ์ฐจ์ด (0) | 2023.12.06 |