용어사전 배너 용어사전 배너
집에서 배워요 용어 사전

소프트웨어 용어 사전

다양한 소프트웨어 용어들을 찾아보세요.

문제해결방법 및 절차

API [Application Program Interface]

라이브러리는 함수들의 집합이라 할 수 있는데 미리 만든 함수를 모아 놓은 곳을 말합니다. 도서관에서

필요한 책을 빌리듯 라이브러리에서 필요한 함수를 찾아 쓸 수 있습니다.


라이브러리는 왜 필요할까요?

프로그래밍을 하다 보면 반복되는 부분을 함수로 만들 때가 있습니다.
그런데 이 함수 또한 반복적으로 사용된다면 즉, 어제 프로그램 할 때 만든 덧셈 함수가 오늘 프로그램에 또 필요하다면 덧셈 함수를 또 다시 만들어야 할까요? 이런 경우 똑같은 함수를 다시 만들 필요 없이 원하는 기능의 라이브러리 함수를 사용함으로써 보다 효율적인 프로그래밍이 가능합니다.

라이브러리에 접근하기 위한 규칙들을 정의한 것을 API라고 하는데 Application Program Interface 즉, 프로그래머가 라이브러리가 제공하는 여러 함수를 이용하여 프로그램을 작성할 때 해당 함수의 내부 구조는 알 필요없이 단순히 API에 정의된 입력 값을 주고 결과 값을 사용할 수 있게 해줍니다. 대표적으로 운영체제가 제공하는 API는 운영체제의 다양한 기능을 사용할 수 있게 해준답니다.

우리는 식당에 가면 메뉴판을 보고 음식을 골라 직원에게 주문합니다. 직원은 주문받은 메뉴를 주방에 전달하죠.
이때 주방을 라이브러리, 메뉴판을 API, 직원은 이를 연결해 주는 역할을 한다고 볼 수 있죠.

우리가 모든 음식을 만들어 먹을 수는 없지만, 감사하게도 우리를 대신해 맛있는 요리는 만드는 전문 요리사가 있습니다. 전문요리사에게 주방을 맡기고 우리는 먹고 싶은 음식을 메뉴판에서 골라 주문한다면 음식을 만드는 복잡한 절차를 거치지 않고도 맛있는 음식을 먹을 수 있답니다.

세상에는 많은 식당과 메뉴가 있듯 우리에게도 많은 라이브러리와 API가 존재합니다.

Open API는 특정 서비스를 제공하는 서비스 업체가 자신들의 서비스에 접근할 수 있도록 그 방법을 외부에 공개한 것으로 해당 서비스로 접근하기 위한 규칙을 정의한 것이라 할 수 있습니다. 예를 들어, 페이스 북에서 로그인 API를 공개했기 때문에 다른 웹 사이트에서 “페이스 북 로그인” 기능을 사용할 수 있고 그 덕분에 우리는 매번 회원가입을 하지 않아도 됩니다.

이처럼 기존의 API를 이용해 새로운 프로그램을 만드는 것을 매쉬업(mashup)이라고 하는데 가장 대표적인 사례가 구글의 하우징 맵스 서비스 입니다. 이 서비스는 구글지도와 부동산 매물 정보가 결합되어 만들어졌습니다.

국내에도 다양한 Open API 들이 제공되고 있습니다. 


Open API들은 어떻게 활용되고 있을까요?