brunch

[똑똑한개발자] API가 뭐죠?

by 지피티맨

안녕하세요.

똑똑한개발자입니다!

https://toktokhan.dev/


사회적 거리두기가 일부 완화되고 백신 접종도 하고 있는 요즘이지만,

2021년 3월 12일 기준 신규 확진자가 488명이 생겼습니다.

아직 안심하기에는 이른 것 같습니다.

모두 방역 수칙을 잘 지키시어 건강 잘 챙기시길 바랍니다~!

sticker sticker




오늘은 API에 대해 알아보려고 합니다!


우선 API (Application Programming Interface)란,

"응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다. "


라고 위키백과에 적혀있는데요. 잘 이해가 되질 않네요..


쉽게 이해하기 위해 우선,


인터페이스(Interface)라는 말을 먼저 짚고 넘어가자면,


인터페이스란,

"서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면이다. 즉, 사용자가 기기를 쉽게 동작시키는데 도움을 주는 시스템을 의미한다. 컴퓨팅에서 컴퓨터 시스템끼리 정보를 교환하는 공유 경계이다. 이러한 교환은 소프트웨어, 컴퓨터 하드웨어, 주변기기, 사람 간에 이루어질 수 있으며, 서로 복합적으로 이루어질 수도 있다. 터치스크린과 같은 일부 컴퓨터 하드웨어 장치들은 인터페이스를 통해 데이터를 송수신할 수 있으며 마우스나 마이크로폰과 같은 장치들은 오직 시스템에 데이터를 전송만 하는 인터페이스를 제공한다."


즉, 소프트웨어, 하드웨어 등 시스템이나 장치 사이에서 데이터를 주고받고 할 때 보이는 모든 수단이나 방법을 의미합니다.


예를 들면, 윈도우와 같은 운영체제 역시, 컴퓨터와 사용자가 데이터를 혹은 사용자가 컴퓨터를 쉽게 동작시키기 위해 잘 만들어진 하나의 인터페이스라고 할 수 있겠습니다.


smart-watch-821559_1920.jpg


날씨 앱, 문자 앱, 인터넷 앱 등 사용자와 원하는 앱을 터치하여 사용할 수 있도록 만들어 놓은 수단, 방법들을 인터페이스 혹은 유저 인터페이스(User Interface, UI)라고 부릅니다.


반면에,

API란 어떠한 응용프로그램에서 데이터를 주고받기 위한 방법을 의미합니다.


어떤 특정 사이트에서 특정 데이터를 공유할 경우 어떠한 방식으로 정보를 요청해야 하는지, 그리고 어떠한 데이터를 제공받을 수 있을지에 대한 규격 혹은 방법 등을 API라고 합니다!



people-4305411_1920.jpg


과거에 식당이나 음식점에서는 점원들이 직접 나와 주문서를 이용하여 주문을 받고 그 주문서를 주방으로 전달해 소비자가 원하는 음식을 받을 수 있는 형태였다면,


요즘엔 많은 식당에는 키오스크라는 무인 주문서 기기를 통해 주문을 할 수 있습니다.


키오스크에서 볼 수 있는 음식 메뉴 혹은 터치 기능 등을 UI라고 볼 수 있고, 소비자가 선택한 음식에 대한 정보를 주방에 있는 출력기기 프로그램에 전달하는 방법이나 규격 등을 API라고 볼 수 있습니다.


더 쉬운 예로,


네이버 날씨 같은 경우, 네이버 측에서 직접 날씨를 측정할지는 잘 모르겠지만,


기상청에서 측정한 데이터를 가져와 자신들의 앱에 보이게 하거나,


웹이나 어플을 제작할 때 구글맵이나 다음 맵 등에서 지도에 대한 데이터를 가져와 사용하는 것을 생각하시면 될 것 같습니다!


question-1015308_1920.jpg


그러면, 기상청이나 구글, 다음 등 많은 회사에서 이에 대한 정보를 왜 제공하는 것일까요?


간단하게 생각해보면


정보를 가지고 있는 사람의 입장에서 사용자가 맵이나 날씨에 대한 정보를 요청할 때, 정해진 규격이 없다면, 매번 사용자에 따라 규격을 만들고, 이에 대한 문서 등을 만들어야 할 것입니다.


주문서를 만드는 업체가 매번 사용자의 요청에 따라 저마다의 주문서를 만들게 되면 매우 불편한 상황이 생기겠지요.


이러한 불편함을 없애기 위해 특정 정보를 주고받거나 할 때 규격을 미리 정해두는 것입니다.


API는 사용하는 방법과, 용도에 따라 오픈 API와, 비공개 API 정보가 있습니다.


오픈 API는 말 그대로 누구나 쉽게 접근하여 정보를 공유하기 위해 만들어진 규격이며,


비공개 API는 권한이 있는 일부 사용자들에게만 정보를 제공하기 위해 만들어진 규격이라고 생각하시면 될 것 같습니다!





오늘은 간단하게 API에 대해 알아보았습니다!

조금이라도 이해에 도움이 된다면 좋겠습니다!

감사합니다~!

sticker sticker


스타트업 전문 개발사와 함께 나만의 스타트업을 시작하려면?

↓↓↓ 클릭 ↓↓↓

https://toktokhan.dev/


keyword