본문 바로가기

BackEnd/기타

API에(Application Programming Interface) 대해

반응형

1. Interface란?

 

Interface는 기계와 인간간의 소통창구라고 할 수 있다.

 

예를 들어 어떤 기계를 만들면, 사용자가 그 기능들을 전부 활용할 수 있도록 제어장치를 마련해

 

야 한다. 티비는 채널선택, 음량조절등을 위해 리모컨이 있다. 자판기에는 버튼이있고, 

 

컴퓨터에는 키보드와 마우스가 있는데, 이런것들을 Interface라고 한다.

 

또한 사용자가 명령을 넣는것뿐만 아니라, 그 결과와 정보들을 받아오기 위한 

 

tv의 스크린, 모니터 또한 Interface에 속한다.

 

2. User Interface란?

 

User Interface는 우리가 만든 프로그램을 사용자들이 이용하기 위한 조작장치라고 할수 있다.

 

소프트웨어 영역에서는 사용자들이 프로그램이나 사이트, 앱을 원하는대로 제어하고 정보를 볼 

 

수 있도록 , 버튼, 스크롤바, 브라우저창등 장치들이 마련되어있는데 이를 User Interface라 한다.

 

즉 소프트웨어와 인간의 소통을 위한 것이다.

 

3. API란? - Application Programming Interface

 

하지만 User Interface와 다르게 우리눈에 직접 보이지 않는 영역들이 더많다.

 

소프트웨어와 소프트웨어 사이에서도 수많은 정보요청과 교환이 이루어진다.

 

이들 사이에서도 소통 창구가 필요하다. 

 

예를들어 기상정보 관리되는 기상청 서버가 있다고 하면,

 

포털이나 기타 날씨에 관련된 서비스를 제공하는 다양한 웹사이트들, 앱들이 

 

기상청 서버로부터 미리 작성된 소프트웨어를 통해 실시간으로 날씨 정보를 요청해서 받아간다.

 

     그렇다면 이 기상청 서버에게 정보들을 요청하는 지정된 형식이 있어야한다. 

 

date:191031/place:seoul/which:temperature  - 이렇게 표시해서 이 주소로 정보를 요청하면 

 

17degree - 이렇게 답이올것이라는 공개된 메뉴얼이있으면 

 

누구든 이걸 참조해서 기사청 정보를 활용하는 소프트웨어를 만들수 있을것이다.

 

이처럼 소프트웨어가 다른 소프트웨어로부터 지정된 형식으로 요청 명령을 받을수 있는 수단을 

 

API라 한다. 

 

어떠한 서버를 호출하는 접점에 있는 일종의 조작 장치

 

 

- 자바로 예를 들면,

 

자바는 프로그램을 쉽게 만들수 있도록 여러가지 부품들을 제공한다.

 

자바가 기본적으로 내장하고 있는 기능들을 기본 라이브러리라 한다.

 

라이브러리라는 부품을 이용해서 나의 프로그램을 만드는 것이다.

 

자바가 기본적으로 제공하는 부품들의 조작장치,방법을 API라 한다.

 

 

- Application Programming Interface 

 

여기서 Programming 은 시간의 순서에 따라 실행된다는 시간이 강조된 표현이고

 

Application 은 자바가 제공하는 부품들을 응용한다는 의미에서 응용이 강조된 표현이다.

 

 

- 우리가 만든 프로그램을 부품으로 하는 또 다른 프로그램이 있을 수 있다.

 

그래서 또 다른 프로그램에게 API를 제공하는것이다.

 

 

- API는 프로그램과 또 다른 프로그램을 연결해주는 일종의 다리라고 할수 있다.

 

- API는 프로그램들이 서로 상호작용하는 것을 도와주는 매개체라고 할수 있다.

 

- 응용 프로그램이 운영체제(OS)를 비롯한 다른 응용 프로그램(데이터베이스 관리시스템, 라이브러리 등)의 기능을 이용할 수 있도록 연결하는 수단이다.

 

- 만약 종류가 다른 OS도 이 API가 공통 형식이면, 컴퓨터간 응용 프로그램의 상호이식이 가능하다. 

 

API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.

 

API는 응용 프로그램이 자신과 연관된 프로그램을 만들 수 있도록 제공하는 인터페이스이다

 

API는 사스템 호출보다 광범위한 개념이며, 운영체제의 API를 시스템 호출이라고 정의할 수 있다.

 

An application programming interface (API) is an interface or communication protocol between different parts of a computer program intended to simplify the implementation and maintenance of software. 

 

An API may be for a web-based system, operating system, database system, computer hardware, or software library.

 

- 백엔드에서 api형태로 기능을 구현하고 처리하는것

 

-라우트 요청을 하면 웹페이지가 로딩되는게 아니라 순수하게 데이터가 가고 리턴이되는형태의 코드

 

-컨트롤러에서 라우트 맵핑이된 함수들중에서 뭔가 처리를 하고 페이지 리다이렉트를 걸거나, 화면이 보이게하는 동작이 아닌것

 

- 이렇게함수를 짜는것을 api를 짯다고함 순수하게 데이터만 주는것 

- text데이터던, binary데이터던, json,xml이던 

- 백엔드쪽의 api를 호출했다는것 그리고 결과를 비동기로 받는다

 

 

참고자료

https://ko.wikipedia.org/wiki/API

https://en.wikipedia.org/wiki/Application_programming_interface

https://www.youtube.com/watch?time_continue=5&v=V2PXRfKoCSU&feature=emb_logo

https://www.youtube.com/watch?v=iOueE9AXDQQ

 

 

반응형