API란?

BaeSeong-min·2025년 1월 11일

프론트엔드 지식

목록 보기
5/9
post-thumbnail

📁API 란?

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

📂Interface

인터페이스는 상호간에 소통을 위해 만들어진 접점이다. 다시말해, 인터페이스는 상호간의 소통의 매개체이다.

🗂️Interface 예시

  • 예를 들어, 사람이 자동차 문을 열기 위해서는 스마트키가 필요하다. 이때, 스마트키는 사람과 자동차 간에 소통의 접점인 인터페이스라고 할 수 있다.

  • 키보드는 사람과 컴퓨터 상호간의 소통을 위해 만들어진 인터페이스이다.

  • 배달앱의 화면을 통해서 사용자는 주문을 할 수 있다. 이처럼 메뉴 목록, 주문하기 버튼을 비롯해서 앱에 있는 모든 화면을 인터페이스라고 할 수 있다. 왜냐하면 배달앱의 시스템은 이러한 화면을 통해서 사용자와 소통하고 있기 때문이다. 이때, 사용자가 사용하는 인터페이스를 User Interface 즉, UI라고 한다.

앞서 말했던 스마트키와 키보드 등은 물리적인 하드웨어 UI이다. 앱이나 웹 등은 소프트웨어적인 UI라고 볼 수 있다. 일반적으로 IT 업계에서 UI라고 한다면 소프트웨어적인 UI를 말한다. 이러한 UI가 웹을 통해 보여지면 웹 UI, 모바일을 통해 보여지면 모바일 UI라고 한다.

  • Interface: 상호간의 소통의 매개체
  • User Interface: 사용자의 소통의 매개체

📂API

API는 사용자가 아닌 응용프로그램에서 소통하기 위한 접점(매개체)이다.

📝 응용프로그램은 운영체제에서 실행되는 모든 소프트웨어를 말하며, 애플리케이션을 말한다.

  • API: 애플리케이션에서 데이터를 읽거나 쓰기 위해 사용하는 인터페이스
    즉, API는 애플리케이션에서 외부 대상과 데이터를 주고 받을 수 있도록 매개체 역할을 한다.

🗂️API 예시

우리동네 날씨 정보를 알려주는 앱을 생각해보자.

앱이 날씨 정보를 알려주기 위해서는 날씨 정보를 받아와야 한다.
기상청에서는 날씨 정보를 가지고 있는데, 기상청은 외부 애플리케이션에서 날씨 정보 데이터를 가져올 수 있도록 매개체 역할을 하는 API를 제공한다.

API의 모양을 예로 들면, http://api.data.go.kr/weather/list와도 같다.
따라서, 애플리케이션에서 해당 API로 curl http://api.data.go.kr/weather/list 데이터 요청을 하여, 응답으로 데이터를 전달받는다.

이러한 형식의 API를 HTTP API라고 한다.
API, OPEN API를 엄밀히 말하면 HTTP API를 말하는 것이다.

📂프론트엔드와 백엔드 역할

기상청은 동네 날씨의 정보를 DB서버에 저장한다. 기상청에서는 날씨와 관련된 정보를 다른 애플리케이션에서 가져갈 수 있도록 서버에 다양한 API를 개발한다.

애플리케이션에서는 날씨 정보를 제공하는 API를 사용하여 사용자에게 보여질 UI를 개발한다.

  • 데이터를 요청하는 앞단을 프론트엔드, 넓은 의미로 클라이언트라고 힌디.
  • 데이터를 제공하는 뒷단을 백엔드, 넓은 의미로 서버라고 한다.

배달앱을 개발하는 백엔드 개발팀은 데이터를 조회하고 저장할 수 있도록 다양한 API를 개발해뒀을 것이다. 목록을 조회하는 API, 주문을 하는 API 등 수십, 수백 개의 API가 있을 것이다.

프론트엔드 개발팀은 이러한 API를 사용하여 사용자에게 보여질 UI를 개발한다.

🗂️UI, API

  • 사용자는 UI를 사용해서 소통한다.
  • 애플리케이션은 API를 통해 소통한다.

사용자는 UI를 사용해서 앱이나 웹, 컴퓨터 등 다양한 대상과 소통한다.
애플리케이션은 API를 사용해서 데이터를 가지고 있는 대상과 소통한다.

📂Private API vs Public API

  • Private API: 회사 자체 서비스를 만들기 위해 사내에서 개발하고 사용하는 APIPrivate API라 하며, 제 3자에게 공개되지 않는다.

  • Public API: 기상청 API와 같이 누구나 사용할 수 있도록 개방한 API를 Public API 혹은 Open API라고 한다. Open API는 공공API, 유튜브, 인스타, 페이스북, 네이버, 카카오 등 많은 플랫폼에서 자사 데이터나 기능을 활용할 수 있도록 다양한 API를 제공한다.

일반적으로 Open API와 같은 용어를 사용할 때는 인터넷 상에서 데이터를 주고받는 HTTP API를 말한다. HTTP는 인터넷 상에서 데이터를 주고 받을 때 사용하는 프로토콜 즉, 소통방법(통신방법, 통신규약)이다.

📂API 제공하는 사이트

📁참고

profile
성민의 개발 블로그 🔥

0개의 댓글