API와 라이브러리의 차이
TIL

API와 라이브러리의 차이

728x90
반응형

 

📚 API (Application Programming Interface)

개념

응용 프로그램 인터페이스. 즉, 응용 프로그램을 작성할 때 필요한 매개체을 뜻한다. 참고로 컴퓨터 프로그램은 = 응용 프로그램 + 시스템 프로그램 으로 나뉘고 시스템 프로그램(운영체제)이 아니면 모두 응용 프로그램이다.

 

실무 개발에서는 프로그램의 크기가 커서 밑단부터 윗단까지 모두 개발할 수 없기 때문에 이미 만들어져 있는 소프트웨어 컴포넌트를 결합해서 만드는 경우가 많은데 라이브러리도 그 중 하나이다. 이런 컴포넌트들을 결합하기 위한 매개체가 바로 API라고 한다. e.g.) 구글 지도 API

 

 주요 특징

  • 접근 권한을 부여받아 사용할 수 있으며 프로그램 내부가 어떻게 동작하는지 있는 지 알 수 없으며, API 활용 규약에 따라 가져다가 쓸 수만 있다

  • RESTful API의 경우 특정한 포맷에 맞춰 HTTP 요청을 보내면 HTTP 응답으로 데이터가 돌아오는 방식이다. HTTP 요청 및 응답 포맷 역시 API이다.

 


 

📚 라이브러리 (Library)

개념

소프트웨어를 개발할 때 사용하는 자원의 모임이다. 도구 모음 같은 느낌. 구성 데이터, 문서, 도움말 자료, 메시지 틀, 미리 작성된 코드, 서브루틴(함수), 클래스, 값, 자료형 사양 등을 포함할 수 있다. e.g.) 파이썬 표준 라이브러리

주요 특징

기능들을 함수 단위로 만들어 제공되며 대체재를 찾기 쉽다. 어떻게 사용할 지는 사용자가 직접 결정하고 소스 코드는 공개하지 않는다.

 

 


 

📚 왜 둘이 헷갈릴까?

✔ 외부 컴포넌트의 경우 라이브러리 형태로 제공 받는 경우가 많아서 라이브러리와 API 뜻을 헷갈려 하는 경우가 많다. 하지만 라이브러리는 컴포넌트 자체를 뜻하며 API는 이 컴포넌트를 활용하기 위한 규약에 따른 매개체이기 때문에 이 두 가지는 엄연히 다르다. 

 

✔ 구글 클라우드에서 제공하는 YOUTUBE API의 예를 들자. RESTful API의 경우 인풋값으로 받은 원하는 데이터를 HTTP 요청으로 보내면 인풋에 맞는 동영상 데이터를 HTTP 응답으로 보내준다. 이는 개발자의 로컬 컴퓨터에 설치된 라이브러리를 통해 제공 받는 것이 아니라 외부 서버에서 서비스를 제공 받는 것이기 때문에, 라이브러리가 아니라 API이다.

 

 

반응형

'TIL' 카테고리의 다른 글

배운 내용 틈틈이 정리하자  (0) 2020.03.02