인터페이스란?

niireymik·2024년 1월 2일
0

🔎 인터페이스란?

인터페이스(Interface)의 정의를 찾아보면 다음과 같이 나온다.

인터페이스(interface)는 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면이다. 즉, 사용자가 기기를 쉽게 동작시키는 데 도움을 주는 시스템을 의미한다. 컴퓨팅에서 컴퓨터 시스템끼리 정보를 교환하는 공유 경계이다.
-위키백과

👉 간단히 말해 인터페이스란 일종의 매개체이자 '소통하기 위한 접점'이며, 개발자에겐 통신과 상호작용을 위해 정해둔 약속[명세, 규약, 정해진 틀]의 개념이다.

(+ 여기서 소통은 데이터를 '읽거나 쓰기'라고 이해)


하드웨어 / 소프트웨어 인터페이스

인터페이스는 그 접점 자체가 하드웨어인지, 소프트웨어인지에 따라 하드웨어 인터페이스, 소프트웨어 인터페이스로 구분할 수 있다. 우리가[사람이] 접할 수 있는 인터페이스(UI)를 예시로 들어보자.

하드웨어 인터페이스소프트웨어 인터페이스
키보드
모니터
리모컨
터치스크린
...
배달 어플리케이션
날씨 어플리케이션
...

우리가 바로 접할 수 있는 인터페이스의 예시로는, 데이터를 쓰기 위한 키보드/마우스나 리모컨, 데이터를 읽기 위한 모니터, 읽기와 쓰기를 모두 할 수 있는 터치스크린 등이 있다. 이는 모두 인터페이스 중 '하드웨어 인터페이스'에 해당한다. 이와 같이 배달/날씨 애플리케이션도 사용자와 시스템 사이에서 일어나는 소통의 접점으로 하나의 인터페이스이며, 그중 '소프트웨어 인터페이스'에 해당한다.


📌 UI (User Interface)

  • User Interface : 사용자 인터페이스
  • 사용자가 소통하기 위한 접점
    (사용자가 데이터를 읽거나 쓰기 위한 매개체)
  • 하드웨어, 소프트웨어 인터페이스 모두 있다.

User Interface, 사용자 인터페이스는 말 그대로 '사용자가 소통하기 위한 접점'이다. 위에서 살펴본 예시인 키보드, 모니터, 배달 애플리케이션 모두 사용자가 시스템과 소통할 수 있도록 하는 매개체이므로 UI에 해당한다.

(+) GUI (Graphic User Interface, 그래픽 사용자 인터페이스)
: 편리한 사용을 위해 입출력 등의 기능을 알기 쉬운 그래픽(아이콘 등)으로 나타낸 UI


📌 API (Applicaion Programming Interface)

  • API : 응용 프로그램 인터페이스
  • 응용 프로그램이 소통하기 위한 접점
  • 애플리케이션에서 데이터를 읽거나 쓰기 위해 사용하는 인터페이스
  • 소프트웨어 인터페이스에 해당한다.

UI(User Interface)가 사용자와 맞닿아 있는 인터페이스였다면, API(Application Programming Interface)는 응용 프로그램과 맞닿아 있는 인터페이스, 응용 프로그램이 사용하는 인터페이스라고 볼 수 있겠다.

👉 백엔드 애플리케이션이 프론트엔드 애플리케이션에게 다양한 API를 제공하고, 프론트엔트 애플리케이션이 이를 이용해 사용자에게 UI를 제공하는 흐름이다! 사용자는 UI를 사용해 소통하고, 애플리케이션은 API를 사용해 소통하는 것 :>

일부는 '네가 이걸 선택하면, 내가 이걸 제공할게'를 구현해둔 것이 API이기에 이를 '메뉴판'으로 비유하기도 한다.

다음은 좀 더 직관적인 이해를 위한 예시이다.
참고 영상

우리가 기상청에서 날씨 정보를 얻으려 하는 상황이다.

이를 위해 기상청에서 제공해 준 API의 모습
http://api.data.go.kr/weather/list
이러하고,

우리가 이 API를 사용하려면
curl http:/api.data.go.kr/weather/list
이런 방식으로 요청(Request)하고,

아래와 같은 응답(Response)을 받는다.

{
	"today": "2021-04-09",
	"weather": "맑음"
}

위와 같은 형식의 API를 정확히는 "HTTP API" 라고 칭하며, 일반적으로 우리가 말하는 API, 오픈API는 HTTP API이다.

0개의 댓글