인터페이스란?

2coconut·2025년 4월 15일
post-thumbnail

인터페이스란 무엇인가?


인터페이스의 정의

인터페이스(Interface)는 서로 다른 두 시스템이나 개체가 상호작용하는 접점 또는 경계면을 의미한다. 쉽게 말해, 두 대상 사이의 의사소통을 가능하게 하는 매개체이다.

-> 즉 상호작용을 위한 하나의 약속이 인터페이스다.


인터페이스의 기본 개념

인터페이스는 다음과 같은 기본적인 특성을 가진다.

  1. 중개자: 서로 다른 시스템 사이에서 통신을 가능하게 한다.
  2. 추상화: 복잡한 내부 구조를 숨기고 필요한 기능만 노출한다.
  3. 표준화: 상호작용 방식을 일정한 규칙으로 정의한다.

인터페이스의 주요 목적은 복잡성을 관리하고 사용자나 다른 시스템이 쉽게 접근할 수 있도록 하는 것이다. 잘 설계된 인터페이스는 내부 작동 방식에 대한 지식 없이도 효과적으로 시스템을 활용할 수 있게 해준다. 예시로 우리가 아무 TV리모콘을 사용해도 누구나 전원 버튼을 누르면, TV 전원이 켜지는 것을 알고 있듯이 잘 설계된 인터페이스는 아무런 설명 없이 효과적으로 시스템을 사용할 수 있도록 해 준다.


인터페이스의 종류

인터페이스를 종류별로 나눈다는건 사실 거의 불가능 하지만 강제로 나누자면 하드웨어, 소프트웨어로 나눌 수 있다.

1. 하드웨어 인터페이스

하드웨어 인터페이스는 서로 다른 하드웨어 장치를 연결하는 현실 물리적 연결점이다. 하드웨어 인터페이스는 우리 주변에 많아 찾아보기 쉽다.

  • USB 포트
  • HDMI 커넥터
  • 이더넷 포트
  • 오디오 잭

2. 소프트웨어 인터페이스

소프트웨어 인터페이스는 프로그램 사이의 상호작용을 정의하는 규약이다.

  • API(Application Programming Interface): 서로 다른 소프트웨어 간 통신을 위한 규약
  • 프로그래밍 언어의 인터페이스: 객체지향 언어에서 클래스가 구현해야 할 메서드를 정의

3. 번외

일부 인터페이스는 하드웨어적 특성과 소프트웨어 특성을 동시에 갖는 경우도 있다.

  • NUI(Natural User Interface): 자연스러운 동작으로 상호작용하는 방식
    -> 터치스크린, 음성 인식, 제스처 인식 등등..

인터페이스의 일상 예시

인터페이스는 컴퓨터에만 국한되지 않고 일상 생활 속에서도 간단하게 찾아볼 수 있다.

  1. 리모컨: TV와 사용자 사이의 인터페이스
  2. 자동차 대시보드: 차량의 기능과 운전자 사이의 인터페이스
  3. 엘리베이터 버튼 패널: 엘리베이터 시스템과 이용자 사이의 인터페이스
  4. 스마트폰 터치스크린: 앱과 사용자 사이의 인터페이스

프론트엔드,백엔드 연결점

인터페이스는 웹 개발의 토대인 프론트엔드,벡엔드와 많은 연결점이 있다.

프론트엔드

우선 프론트엔드는 사용자가 보는 웹의 전반적인 UI (User Interface)를 구현을 담당한다. 간단하게 말하자면 사용자가 보는 화면을 만든다는 것이다.

프론트엔드와 인터페이스

  • UI - 위에서 말했듯이 프론트엔드는 화면 즉 UI (User Interface)를 만들어 사용자와 소통을 한다.
  • API - 백엔드에서 만든 API를 사용하여 사용자와 데이터를 주고 받으면서 소통을 할 수 있다.

백엔드

백엔드는 주로 서버, 데이터베이스, 비지니스 로직 구현을 담당한다. 여기서 말하는 비즈니스 로직은 애플리케이션이 "무엇을 해야 하는지"를 결정하는 코드 부분을 말한다.

백엔드와 인터페이스

  • API - 프론트엔드에서 데이터를 주고 받는 등 소통이 필요 할 때 백엔드는 API의 구조, 기능, 동작 방식을 문서화한 자료인 API 명세서를 작성한다. 간단하게 설명서를 작성하는 것이다.

프론트엔드는 사용자가 보는 화면(UI)를 담당하며 백엔드 API와 소통합니다. 백엔드는 서버, 데이터베이스, 비즈니스 로직을 처리하고 API 명세서를 작성해 프론트엔드와 데이터를 주고받는 방법을 제공합니다. 두 영역은 API라는 인터페이스를 통해 연결되어 하나의 웹을 구성한다.


profile
컴공학생

0개의 댓글