
인터페이스(Interface)는 서로 다른 두 시스템이나 개체가 상호작용하는 접점 또는 경계면을 의미한다. 쉽게 말해, 두 대상 사이의 의사소통을 가능하게 하는 매개체이다.
-> 즉 상호작용을 위한 하나의 약속이 인터페이스다.
인터페이스는 다음과 같은 기본적인 특성을 가진다.
인터페이스의 주요 목적은 복잡성을 관리하고 사용자나 다른 시스템이 쉽게 접근할 수 있도록 하는 것이다. 잘 설계된 인터페이스는 내부 작동 방식에 대한 지식 없이도 효과적으로 시스템을 활용할 수 있게 해준다. 예시로 우리가 아무 TV리모콘을 사용해도 누구나 전원 버튼을 누르면, TV 전원이 켜지는 것을 알고 있듯이 잘 설계된 인터페이스는 아무런 설명 없이 효과적으로 시스템을 사용할 수 있도록 해 준다.
인터페이스를 종류별로 나눈다는건 사실 거의 불가능 하지만 강제로 나누자면 하드웨어, 소프트웨어로 나눌 수 있다.
하드웨어 인터페이스는 서로 다른 하드웨어 장치를 연결하는 현실 물리적 연결점이다. 하드웨어 인터페이스는 우리 주변에 많아 찾아보기 쉽다.
소프트웨어 인터페이스는 프로그램 사이의 상호작용을 정의하는 규약이다.
일부 인터페이스는 하드웨어적 특성과 소프트웨어 특성을 동시에 갖는 경우도 있다.
인터페이스는 컴퓨터에만 국한되지 않고 일상 생활 속에서도 간단하게 찾아볼 수 있다.
인터페이스는 웹 개발의 토대인 프론트엔드,벡엔드와 많은 연결점이 있다.
우선 프론트엔드는 사용자가 보는 웹의 전반적인 UI (User Interface)를 구현을 담당한다. 간단하게 말하자면 사용자가 보는 화면을 만든다는 것이다.
백엔드는 주로 서버, 데이터베이스, 비지니스 로직 구현을 담당한다. 여기서 말하는 비즈니스 로직은 애플리케이션이 "무엇을 해야 하는지"를 결정하는 코드 부분을 말한다.
프론트엔드는 사용자가 보는 화면(UI)를 담당하며 백엔드 API와 소통합니다. 백엔드는 서버, 데이터베이스, 비즈니스 로직을 처리하고 API 명세서를 작성해 프론트엔드와 데이터를 주고받는 방법을 제공합니다. 두 영역은 API라는 인터페이스를 통해 연결되어 하나의 웹을 구성한다.