개발관련/용어

개발용어 - API란 뭔가요?

고통받는다 2023. 6. 29. 16:21

API는 개발하는데 있어 필수적으로 사용이 되고, 모든 개발자들이 사용을 하고 있습니다.

하지만 API가 뭐야? 라고 질문을 했을때 다들 두리뭉실 하기만 말하기만 하고 간단하고 명확하게 설명하는 개발자들이 몇 없었던거 같습니다.

즉 API가 뭔지는 잘 모르지만 개발자 본인도 모르게 잘 쓰고 있다는 것이죠...

오늘 이시간에는 API가 뭔지 알아보는 시간을 가지겠습니다.

 

API란 무엇인가?

 

위키백과에서는 API의 정의를 다음과 같이 내리고 있습니다.

 

음... 이것만 가지고서는 API가 정확하게 뭐다!! 라고는 말할수 없습니다... 너무 추상적이거든요..

API를 메뉴판에 비유

 

 

 

코딩애플님이 설명을 정말 잘해주셔서 해당 영상을 들고 와봤습니다.

API를 메뉴판에 비유하셨습니다.

메뉴판이 뭔가요?

식당에서 나는 이러이러한 메뉴를 제공할수 있습니다 라고 고객들에게 알려주기 위한 방법을 의미합니다.

이 방법을 통해 손님은 주문을 하고 해당 음식을 받아 먹을수 있는것이죠.

자 그럼 이 방법은 또 무엇인가 하면...

API를 작동시키는 코드라고 생각하시면 됩니다.

그럼 이 코드를 어떻게 동작시킬까요?

코드가 작성되어있는 컴퓨터를 해킹해서 작동을 시켜야 할까요?

이때 사용되는게 바로 API 입니다.

API 라는걸 해당 코드에 짜 놓으셔야 합니다.

이렇게 되면 외부에서 해당 코드를 실행을 할수 있게 되는겁니다.

일반적으로 get 요청이 오면 해당 API에 감싸져 있는 코드들이 실행이 되게 구현을 해놨습니다.

네이버 웹툰 예시

 

대표적인 예를 살펴볼까요?

여러분이 네이버에 들어가서 웹툰을 보고싶다고 가정을 합시다.

당연하게도 네이버 웹툰을 보고싶다면 Get을 요청하는 코드를 짜야 웹툰 페이지로 이동이 됩니다.

하지만 일반 사람들은 당연하게도 Get 요청 코드를 작성하지 못합니다.

그럼 어떻게 저희는 네이버를 열어서 웹툰을 쉽게 볼수 있었던 걸까요?

 

이런 Get 요청 코드를 쉽게 작성할수 있게 해준게 바로 웹 브라우저 입니다.

웹 브라우저를 열고 최상단에 보면 저렇게 URL을 기입하는 공간이 있습니다.

바로 저기가 API 요청 코드를 짜는 곳이죠.

그런데 일반인이라면 저기다가 URL을 외우고 쓰지는 않죠..

그럼 네이버 홈에서 웹툰 페이지로 이동하려면 어떻게 하나요?

저희는 저런 웹툰 버튼을 클릭해서 웹툰 페이지로 이동을 하죠?

자동으로 API 요청을 해주는 코드들이 숨겨져 있는겁니다.

웹툰을 누르면 웹툰 페이지로 갈수있게 해주세요 라는 Get 요청을...

뉴스를 누르면 뉴스 페이지로 갈수있게 해주세요 하는것이죠.

API의 유형

 

API에는 이렇게 무조건 아무나 접근할수 있는 유형만 있는게 아닙니다.

 

public API

 

누구나 사용가능한 공개 API 입니다.

 

private API

 

내부 API로 회사에서 사용되는 API 입니다.

때문에 제 3자에게 노출이 되지 않습니다.

 

partner API

 

미리 정해둔 특정인들만 사용 가능한 API 입니다.

보통 비즈니스 관계에서 사용됩니다.

API는 웹에만 존재?

 

아닙니다.

API는 모든 프로그램에서 가질수 있습니다.

예를들어 저희들이 사용하고 있는 Windows API

이걸 사용하면 Windows OS에서 사용가능한 기능들을 모두 사용 가능합니다.

예를 들자면 윈도우에서 무료로 제공해주는 윈도우 디펜더 백신 이것도 API의 종류라고 할수 있죠.

API는 BM이 될수 있다.

 

가장 대표적인게 네이버의 파파고 번역 서비스죠.

이거 무료로 알고 계신분 알고있는데..

일정 글자수를 넘겨서 번역하려면 과금을 하셔야 합니다.

그래서 아주 뛰어난 API를 만들어 두기만 하면.... 큰 돈을 벌수가 있는 겁니다.