API 개념 정리

heechan chae·2021년 5월 25일
4

API

목록 보기
1/1
post-thumbnail

여러 공부를 하다보면 대략적인 의미는 알지만 한마디로 설명할 수 없는 용어가 있다. 최근에는 여러 스터디를 하며 API라는 단어를 많이 듣게 되는데 의미는 알고 있지만 정확한 뜻과 개념을 알지못해 정리해보려고 한다.

구글에 API를 검색해본결과, 위키백과에서는 API를 다음과 같이 설명한다.

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

설명을 봐도 이해하기 쉽지않다. 그럼 먼저 API의 뜻부터 이해해 봐야겠다.

API란?

먼저 API는 Application Programming Interface로 응용 프로그램 프로그래밍 인터페이스이다. 풀어서 봐도 무슨 말인지 잘 모르겠다. 그럼 한가지씩 뜯어서 보도록 하자.

Interface

Interface는 물건을 조작하기 위한 디자인이라고 한다. 여기서 디자인이란 키보드, 마우스 리모컨과 같은 물리적인 물건 뿐만아니라, 터치스크린을 손가락 두개로 터치하고 벌리면 확대, 모으면 축소와 같은 기기를 작동하는 방식도 포함된다.

Programming Interface

위의 Interface에서의 설명은 사람의 편의를 위한 인터페이스, Human Interface이다. 그럼 Programming Interface는 반대로 프로그래밍을 위한 인터페이스라고 할 수 있다.

Application Programming Interface

그렇다면 Application Programming Interface은 쉽다. 응용 프로그램의 프로그래밍을 쉽게 할수 있게 도와주는 디자인이다. 정리하자면 다른 응용 프로그램의 기능을 사용할때 API를 이용하면 쉽게 정보를 얻을 수 있게 되는 것이다. 리모컨으로 채널을 돌릴때 사용자는 TV내부에서 어떻게 작동하는지 알 필요없이 버튼 하나만 누르면 되는 것으로 예를 들 수 있다.

API 예시

이해를 돕기위해 예시를 통해 보도록 하자. 사실 우리는 API를 이미 사용하고 있다. Python으로 다음과 같은 코드를 작성했다고 하자.

print("Hello World!")

우리가 당연히 출력을 위해 사용하던 print메서드도 API다. 이 API가 없다면 우리는 터미널에 "Hello World!"를 띄우기 위해 컴퓨터 메모리를 직접 건드려야 할 것이다. 하지만 우리는 내부에서 어떤 작동을 하는지 알 필요없이 이미 정의된 API인"print"라는 명령어만 사용해서 출력할 수 있다. "print"외에 우리가 사용하는 대부분의 메서드들은 전부 API라고 해도 과언이 아니다.

다음은 조금더 실용적인 예시이다. 내가 어떤 웹페이지를 만들었다. 이 페이지를 많은 사람들이 공유 해줬으면 하는 마음에서 네이버 공유하기 버튼을 만들고 싶다하면 어떻게 할것인가? 만약 API가 없다면 그 버튼을 만들 수 있을지 조차 단언할 수 없을 것이다. 하지만 네이버에서는 그런 API를 제공하고 있다.

네이버 공유하기 개발 가이드

이런 식으로 친절하게 어떤 방식으로 사용해야 하는지 까지 설명해주고 있다. 쉽게말해 사용자는 복붙만 해도 네이버 공유하기를 사용할 수 있는것이다.

오픈 API

위 네이버 공유와 같은 API를 오픈 API라 하는데 이와 비슷한 무료 API 사이트를 소개하겠다.

공공 데이터 포털
Kakao Developers
Naver Developers

0개의 댓글

관련 채용 정보