API(Application Programming Interface)
API는 응용 프로그램에서 사용할 수 있도록, 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 즉, 프로그램과 프로그램을 연결시켜주어 해당 프로그램 끼리 잘 통신할 수 있도록 해주는 매개체
*인터페이스 : 컴퓨터 시스템끼리 정보를 교환하는 공유 경계를 의미한다. 터치 스크린과 같은 일부 컴퓨터 하드웨어 장치들은 인터페이스를 통해 데이터를 송수신 할 수 있으며, 마우스같은 장치들은 오직 시스템에 데이터를 전송만 하는 인터페이스를 제공한다.
쉽게 이야기 하면 API는 규칙들의 집합이고 프로그램의 기능들을 미리 정리해서 클라이언트가 접근할 프로그램을 잘 모르더라도 API를 이용해 손쉽게 통신할 수 있도록 해주는 일종의 번역기와 같은 것
API는 Public API와 Private API로 나뉜다.
Public API는 누구나 쉽게 접근하여 정보를 공유하기 위해 만들어진 규격이며,
Private API는 권한이 있는 일부 사용자들에게만 정보를 제공하기 위해 만들어진 규격이라고 생각하면 된다.
결론적으로, API는 어떤 응용프로그램이 자신이 가지고 있는 정보를 제공하기 위해 어떤 방식으로 통신할 것 인지에 대한 규격을 만들게 되고, 이러한 규격을 API라고 표현한다.
API를 제공하는 이유는?
정보를 가지고 있는 입장에서, 남들에게 정보를 제공하기 위해서는 별도의 규격을 만들어야하고, 그 규격에 대한 설명 문서도 만들어야한다. 네이버, 카카오, 페이스북 같은 곳에서는 거의 무조건 API 정보를 제공하고 있으며 관련 예시는 간편 로그인 API 정보를 제공하는 방식이 있다.
간편 로그인 API의 목적은 사용자가 여러 사이트를 하나씩 가입하다보면 내가 어디서 어떤 아이디로 가입했는 지도 모를 정도로 많은 사이트에 가입하게 된다.
하여, 누구나 사용하고 있는 대형 플랫폼의 가입정보를 공유함으로써 간편하게 회원가입을 할 수 있도록 설계된 API이다.
API의 장점
- 자동화가 용이하다 : API를 통해 사람이 직접 조작하지 않아도 관련 내용이 자동으로 생성되고 처리되어 워크 플로우가 빨라질 수 있다. 내가 가져다쓰는 API의 기능을 어떻게 구현하는 지 몰라도 상관이 없다.
- 범위의 확장성 : API는 프로그램 사용 시 정보를 전달하는 기능이 있어 사용자의 환경에 맞춰서 전달할 수 있다. 또한 API에 직접 액세스 하지 않아도 콘텐츠가 자동적으로 생성 및 업로드 되어 확장이 용이하다.
- 적용력 : API는 변화 예측에도 큰 도움이 되기 때문에 API를 통해 데이터를 수집하고 전달하는 데 있어 유연한 서비스 환경을 구축할 수 있다.
[참조] :
'CS 지식' 카테고리의 다른 글
SQL/NoSQL 이란? (0) | 2022.06.25 |
---|---|
미들웨어란? (0) | 2022.06.25 |
CORS란? (0) | 2022.06.25 |
정적 분석과 동적 분석 (0) | 2022.06.18 |
Redis 란? (0) | 2022.06.13 |