API(Application Programming Interface)

- 응용 프로그램에서 사용할수 있도록 운영체제나 프로그래밍 언아가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 말한다

* WEB API
 - 웹 애플리케이션 개발에서 다른서비스에 응답 받기 위해 정의된 명세를 말한다


 (출처. 위키디피아)

                                                                                                                                                                  




API 라는 개념을 이해하기가 너무 어려운거같다.
 인터넷과 책 그리고 지인의 설명을 토대로 내가 이해한 API 라는 것은 결국에는 일종의 서비스로 개발을하다가 어떤 기능을 수행하기 위해 우리가 라이브러리(Library)를 사용하듯이 API 의 개념도 하나의 라이브러리다 라고 생각하니 받아들이기 수월했다.

예로 들자면 자바에서 스프링 프레임워크를 사용하기 위해서는 STS 라는 툴을 사용하지 않는다는 전제 아래 이클립스로 스프링 프레임워크를 사용하기 위해서는 스프링에 필요한 라이브러리를 받아야한다. 라이브러리를 사용하지 않고 스프링 프레임워크를 사용하기위해서는 자체적으로 스프링 프레임워크를 개발을 해야할 것이다. 그렇기 때문에 우리는 보급되어 있느 라이브러리라는 것을 사용하여 스프링 프레임워크를 사용할 수 있는 것이다.

API도 마찬가지로 API를 사용하는것은 이미 만들어져있는 기능을 내프로젝트내에서 수행하기 위해 기능을 개발하는것이아니라 만들어져있는 기능을 호출하여 사용하는 것이다.
오픈 API중 요즘 가장 빈번하게 사용되고있는것이 로그인 API로 생각된다. 구글, 네이버, 카카오, 페이스북 등이미 많은 유저를 보유하고있는 회사들의 API를 사용하여  별도의 회원가입이나 인증절차 없이 로그인이 가능한 웹 이나 앱들을 볼수 있을것이다. 여기서 사용되는것이 각각의 로그인API 를 사용하는것처럼 API는 어떠한 동작이나 기능을사용할수 있는 서비스 즉 인터페이스라고 이해하면 되겠다.


댓글