1. API 정의


API(Application Programming Interface)의 사전적 정의는 “응용 프로그램에서 사용할 수 있도록, 운영 체제 혹은 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스”를 말한다. 쉽게 말하자면 “응용 프로그램(Application)들이 서로 소통하기 위한 접점”으로 요약할 수 있다.



2. Interface


인터페이스(Interface)란 서로 다른 두 개의 물체가 상호간에 정보나 신호를 주고받기 위해서 필요한 접점이나 경계면을 말한다. 쉽게 말해, 상호간에 소통을 위해 만들어진 접점이다.

인터페이스는 상호간에 소통을 위해 만들어진 접점이라는 점에서 실생활에서도 흔히 찾아볼 수 있다. 예를 들어, 식당에서 음식을 주문하는 과정에서도 인터페이스를 찾아볼 수 있다.



3. UI (User Interface) - 컴퓨터의 사용자 인터페이스


UI

사용자 인터페이스(User Interface, UI)는 인간과 컴퓨터 사이에서 의사소통을 목적으로 만들어진 물리적, 가상적 접점(매개체)이다. 사용자 인터페이스는 인간과 컴퓨터 사이에서 상호간에 소통할 수 있도록 입력, 출력 역할을 수행한다.

- Hardware User Interface

컴퓨터에 원하는 작업을 입력하기 위해서 키보드라는 인터페이스를 통해 명령한다. 처리한 결과를 다시 사용자에게 보여주는 역할은 모니터가 수행한다.

- Graphical User Interface (GUI)

GUI는 사용자가 그래픽 아이콘을 통해서 컴퓨터와 정보 교환을 가능하게 해주는 인터페이스다. 마우스 포인터, 프로그램 아이콘, 드래그앤 드랍 등이 있다.

- Web User Interface (WUI)

웹 브라우저 상에서의 인터페이스로 화면의 디자인, 그 안을 이루는 배너, 아이콘, 검색 버튼, 결제 버튼 등 시각적인 요소를 말한다.



4. API (Application Programming Interface)


✅ API란?

앞에서 Interface는 소통하기 위한 접점, UI는 사용자가 소통하기 위한 접점이었다. 그리고 API는 Application Programming Interface의 약자로, 응용 프로그램(Application)들이 서로 소통하기 위한 접점이다.

여기서, 응용 프로그램(Application)이란 운영체제(MacOS, Linux, Window 등)에서 실행되는 모든 소프트웨어를 말한다. 크롬(Chrome) 브라우저, Slack, KakaoTalk, 메모장, Keynote, Excel 등이 있다.

그렇다면, API는 응용 프로그램과 응용 프로그램(Application) 사이에서 소통을 위한 인터페이스(Interface) 즉 접점 혹은 경계면이라 할 수 있다. 여기서 접점 혹은 경계면은 다른 응용 프로그램이 될 수도 있고, 애플리케이션 내에 어떤 함수가 될 수도 있다.

웹 서비스에서의 API

API는 애플리케이션 사이에서 소통 역할을 하는 접점이었다. 그렇다면 웹/앱 서비스에 있어서 API란 무엇을 말할까.

인스타그램 서비스를 만들고 운영한다고 가정했을 때, 사용자가 서비스를 원활하게 이용하기 위해서 필요한 운영체제 혹은 서버에서 실행되고 있어야하는 애플리케이션은 크게 3가지를 들 수 있다.

  • 첫번째로 사용자에게 웹 사이트를 표출하기 위해 필요한 클라이언트 애플리케이션(ex. Chrome browser),
  • 두번째로 인스타그램 서비스의 모든 정보가 저장되어 있는 데이터베이스 애플리케이션(MySQL, Oracle, Postgres)이 필요하다.
  • 세번째는 이들을 연결하는 API 애플리케이션이다.

여기서 브라우저는 여러가지 이유로 데이터베이스에서 서비스에 필요한 정보들을 직접 요청해서 받아올 수 없다. 그렇기 때문에 중간에서 소통해줄 수 있는 인터페이스가 필요한 것이다. 바로 이러한 소통의 역할을 해주는 응용 프로그램(애플리케이션)이 API다.

- 클라이언트(Client) 애플리케이션

  • 사용자가 서비스를 이용하기 위해서 사용하는 웹 브라우저 혹은 모바일 애플리케이션을 말한다.
  • Chrome, Safari, Internet Explorer, Mobile App 등이 있다.

- 데이터베이스(Database) 애플리케이션

  • 인스타그램 서비스가 제대로 운영되기 위해서는 수 많은 이용자들의 데이터(회원 정보, 게시물, 댓글, 좋아요, 사진, 영상)를 영구적으로 보존할 수 있는 데이터베이스 애플리케이션이 필요하다.

- API(Application Programming Interface) 애플리케이션

  • 사용자가 웹 브라우저를 통해 인스타그램 웹 사이트에 접속할 때 보여지는 모든 데이터(게시글)와 데이터 관련 작업(게시글에 댓글 달기)은 API를 통해 데이터베이스와 소통하고 있기 때문에 가능하다.
  • 결국, 클라이언트(브라우저)와 데이터베이스(인스타그램 서비스의 데이터 집합) 두 애플리케이션 사이에서 데이터를 읽거나 쓰기 위해 필요한 접점이 API다.



5. 정리


  • 인터페이스(Interface)란 서로 다른 두 개의 물체가 상호간에 정보나 신호를 주고받기 위해서 필요한 접점이나 경계면을 말한다.
  • 사용자 인터페이스(User Interface, UI)는 인간과 컴퓨터 사이에서 의사소통을 목적으로 만들어진 물리적, 가상적 접점(매개체)을 의미.
  • API란 Application Programming Interface의 약자로 응용 프로그램(Application)들이 서로 소통하기 위한 접점이다. 여기서 응용 프로그램(Application)이란 운영체제(MacOS, Linux, Window 등)에서 실행되는 모든 소프트웨어를 말합니다.
  • 웹 시스템에서 API란 클라이언트(브라우저)와 데이터베이스(인스타그램 서비스의 데이터 집합) 두 애플리케이션 사이에서 데이터를 읽거나 쓰기위해서 필요한 접점이다.
profile
helloworld

0개의 댓글