WEB 지식 이것 저것

[IT] API(Application Programming Interface)란 ?

somuxsomu 2024. 1. 23. 18:35

 

API (Application Programming Interface)란 ?

 

프로그래밍을 하면서 알아야할 기본 개념 중 하나인

API에 대해서 정리를 해보려고 한다.

 

먼저 API 정의에 대해 알아보고,

역할과 유형을 정리해보려고 한다. 

 

"서버-클라이언트 통신 👉🏼 API "

 

💻목차

- API, 인터페이스  정의

- API 역할

- API 유형

 


 

API와 인터페이스의 사전적 정의

 

- API란?

컴퓨터나 컴퓨터 프로그램 사이의 연결이다.

일종의 소프트웨어 인터페이스이며 다른 종류의 소프트웨어에 서비스를 제공한다.   

- 위키백과 

 

 - 인터페이스(Interface)란?

컴퓨터 시스템끼리 정보를 교환하는 공유 경계를 의미한다. 

 -위키백과
 

 

 

API에 대해 조금 더 자세하고 쉽게

설명을 해보자면,

 

이미지 출처 : https://blog.wishket.com/api%EB%9E%80-%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85-%EA%B7%B8%EB%A6%B0%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8/

 

 

 

API는 레스토랑의 점원과 같은 역할을 한다.


점원(API)은 손님(브라우저)에게 메뉴(명령 목록)를 알려주고,

주방(서버)에 주문(명령)받은 요리를 요청하고,

주방(서버)에서 완성된 요리(명령에 대한 값)를 손님(브라우저)에게 다시 전달해준다.
 

 

즉,

 API는 프로그램들이 서로 상호작용하는 것을 도와주는 매개체로 볼 수 있다. 
 


 

API 역할과 유형에 대해서 좀 더 자세하게 알아보자,

 

 

🔸 API 역할


1. API는 서버와 데이터베이스(DB)에 대한 출입구 역할을 한다.

데이터베이스(DB)는 모든 정보가 저장되는 공간이다.

그렇기 때문에 모든 사람들이 DB에 접근할 수 있으면 안되기 때문에,

API는 이를 방지하기 위해 서버와 DB에 대한 출입구 역할을 하며, 허용된 사람들에게만 접근성을 부여해준다.

 

 

2. API는 애플리케이션과 기기가 원할하게 통신할 수 있도록 한다.

애플리케이션이란? 스마트폰의 어플, 응용프로그램, 웹 어플리케이션 등을 말한다.

 

API는 애플리케이션과 기기(핸드폰, 컴퓨터 등)가 데이터를 원할하게 주고 받을 수 있도록 돕는 역할을 한다.

 

 

3. API는 모든 접속을 표준화 한다.

API는 모든 접속을 표준화 하기 때문에

기계/운영체제 등과 상관없이 누구나 동일한 액세스를 얻을 수 있다.

즉, API는 범용 플러그처럼 작동한다고 볼 수 있다.
 
 

🔸 API 유형


1. private API 

내부 API로,

회사 개발자가 자체 제품과 서비스를 개선하기 위해 내부적으로 발행한다.

제 3자에게 노출되지 않는다. 

 

2. public API

개방형 API(OPEN API)로,

모두에게 공개가 된다.

누구나 제한없이 API를 사용할 수 있다.

 

토이프로젝트를 만들때, OPEN API를 이용해서 만들 수 있고

회사에서 개발을 할 때도 OPEN API를 활용하면 쉽게 개발 할 수 있다

 

3. partner API

기업이 데이터 공유에 동의하는 특정인들만 사용 할 수 있다.

비즈니스 관계에서 사용되는 편이며,

종종 파트너 회사 간에 소프트웨어를 통합하기 위해 사용한다.
 
 


 

 

업무에서 API 관련 대화가 나오면 이렇게 이해하면 된다


“API 하나만 따주세요" 

라는 말은 "요청이 가능한 새로운 기능 만들어주세요!”


“API 개발은 끝났고, 클라이언트는 아직이에요."

라는 말은 "기능은 다 만들었는데 요청하는 쪽이 아직 작업 중이에요”

 

라고 이해를 하면 된다! 

😎

 

 

백엔드 개발자가 API를 개발한다는것은

프론트엔드와 소통할 수 있는,

명령어의 집합이라고 생각하면 될듯 하다! 

 

API를 통해서 프론트엔드(화면)과 소통을 할 수있고,

API를 통해서 내가 필요한 명령어 집합을 호출할 수 있고~

 

API 개념 생각보다 어렵지 않습니다

대충 어떤 역할을 하는지 알아두면 될거 같아요

 

요즘은 백엔드 개발자를 API개발자라고도 많이 부르더라구요

 

다들 화이팅

👍🏼