본문으로 이동

API

위키백과, 우리 모두의 백과사전.
TedBot (토론 | 기여)님의 2020년 12월 19일 (토) 17:30 판 (봇: 링크 변경 (마이크로소프트 윈도 → 마이크로소프트 윈도우)

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

이용

API는 응용 프로그램 이진 인터페이스(ABI)와는 구별한다. API는 소스 코드 기반인 반면 ABI는 이진 인터페이스이다. 이를테면 POSIX는 API인 반면, 리눅스 기본 규격은 ABI를 제공한다.[1][2]

절차적 언어에서의 API

대부분의 절차적 언어에서 API는 특정한 작업을 수행할 함수들의 집합을 규정하며, 특정 소프트웨어 구성 요소와 상호 작용할 수 있게 한다.

유닉스 명령어 man 3 sqrtsqrt 함수의 시그너처를 대표한다:

SYNOPSIS
            #include <math.h>
            double sqrt(double X);
            float  sqrtf(float X);
DESCRIPTION
       sqrt computes the positive square root of the argument. ...
RETURNS
       On success, the square root is returned. If X is real and positive...

이와 비슷하게, 다른 언어들은 절차적 라이브러리를 갖고 있다. 이를테면 에는 내부 문서화 기능을 이용할 수 있는 동일한 수식 작업을 위한 전용 API들이 있으며, perldoc 유틸리티를 이용하여 접근할 수 있다:

$ perldoc -f sqrt
       sqrt EXPR
       sqrt    #Return the square root of EXPR.  If EXPR is omitted, returns
               #square root of $_.  Only works on non-negative operands, unless
               #you've loaded the standard Math::Complex module.

API의 예

웹 API

웹 API는 웹 애플리케이션 개발에서 다른 서비스에 요청을 보내고 응답을 받기 위해 정의된 명세를 일컫는다. 예를 들어 블로그 API를 이용하면 블로그에 접속하지 않고도 다른 방법으로 글을 올릴 수 있다. 그 외에 우체국의 우편번호 API, 구글과 네이버의 지도 API등 유용한 API들이 많으므로, 요즘은 홈페이지 구축이나 추가개편 시 따로 추가로 개발하지 않고 이런 오픈 API를 가져와 사용하는 추세다.

같이 보기

각주

  1. “LSB Introduction”. Linux Foundation. 2012년 6월 21일. 2015년 3월 27일에 확인함. 
  2. Stoughton, Nick (April 2005). “Update on Standards” (PDF). USENIX. 2009년 6월 4일에 확인함.