새소식

프로그래밍

[Programming] API 란 무엇인가?

  • -

What is API : Application Programming Interface ?

영문 중에서 인터페이스(Interface)라는 용어가 사용되었습니다.
먼저 이것에 대해서 알아보겠습니다.

인터페이스는 기계 장치끼리의 데이터 교환을 위해서 마련된 수단, 방법이라고 합니다.
'기계 장치'라고 말했지만, 꼭 기계에 한정되어 있지 않고 쓰입니다.

대표적인 예로써 TV라고 하는 기계에게 채널 7번을 틀려고 한다면
리모컨에서 7 버튼을 눌러서 '7번 틀어줘!'라고 신호(데이터)를 보낼 것입니다.
TV는 그런 신호를 받아서 7번을 틀기 위한 작업을 수행합니다.

이때, 기계 내부에서 신호를 보내는 체계가 마련되어 있을 것입니다.
이런 체계/방법들이 인터페이스라고 할 수 있습니다.

위 예시에서 UI에 대한 개념도 슬쩍 살펴볼 수 있는데,
사용자 인터페이스(UI: User Interface)는 사용자와 기계간의 의사소통을 가능케 하기 위한 수단, 방법을 말합니다.

위 예시에서 리모컨을 사용하는 사용자는 7 버튼을 보고 사용자는
'아, 7을 입력하는 버튼이구나!'라고 생각할 수 있었죠.
이때의 7 버튼, 다른 버튼들을 UI라고 볼 수 있습니다.

 

그럼 본론으로 돌아와서 API란 무엇일까요?
위키백과에선 이렇게 안내하고 있습니다.

'응용 프로그램 프로그래밍 인터페이스 라는 의미로,
응용 프로그램에서 사용할 수 있도록 운영체제/프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스'

예를 들어보겠습니다.
라이엇 게임즈의 '리그 오브 레전드' 라는 게임에서
어떠한 플레이어의 정보를 얻어와, 출력하는 프로그램을 만드려합니다.

이때, 플레이어의 정보를 가져갈 수 있도록 라이엇 게임즈에선
리그 오브 레전드의 데이터들을 가져가기 위해 어떠란 체계를 구축하여 프로그래머에게 제공합니다.
이때의 체계를 API라고 생각하시면 됩니다.

또는 단순히 프로그래머가 'Hello world'라는 문자열을 출력하기 위해서
printf() 라는 함수를 호출하곤 합니다.

이때의 printf() 역시 API라고 인식하시면 되겠습니다.

더 나아가, MS에서 프로그래머에게 위와 같은 기능(함수, 연산, 입력, 출력 등)을 사용할 수 있도록
명령어들을 구현하여 문서들로 구축해둔 것이 있는데,
이를 라이브러리(Library)라고 합니다.

'프로그래밍' 카테고리의 다른 글

[Programming] 소스코드 버전 관리  (0) 2020.07.11
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.