인터페이스
서로 다른 사물이나 시스템 간에 커뮤니케이션(소통)이 가능하도록 설계한 상호 작용 방식
사물과 사물 사이 또는 사물과 인간 사이의 경계에서, 상호 간의 소통을 위해 만들어진 물리적 매개체나 프로토콜을 말한다.
I/F로 축약하여 사용하기도 한다.
크게 ‘하드웨어 인터페이스’, ‘소프트웨어 인터페이스’ 그리고 ‘사용자 인터페이스’의 세 가지로 구분된다.
컴퓨터 등 정보 기기의 하드웨어 간 통신을 위해서 존재하는 입출력 포트의 전기적 연결 장치인 커넥터(connector), 신호의 송수신 방법(프로토콜) 등을 말한다.
컴퓨터 관련 버스, 저장 장치 및 다양한 입출력 기기들 내에 존재하며, 주로 병렬 연결과 직렬 연결로 나뉘어진다. 컴퓨터 내부 장치나 구성 요소간의 상호 접속을 가능하게 하는 플러그, 커넥터, 카드 등이 하드웨어 인터페이스에 속한다.
소프트웨어, 즉 컴퓨터의 하드웨어의 동작을 지시하고 제어하는 프로그램들이 상호 작용하는 방식
소프트웨어 간의 통신을 위해 메시지를 전달하는 방식 등이 결정된 것으로, 다양한 레벨에서 다양한 종류의 인터페이스가 존재한다.
운영체제(OS)와 하드웨어들 사이의 인터페이스, 운영체제와 응용 프로그램이 상호 작용하는 인터페이스, 객체 지향 프로그래밍에서 응용 내의 객체들이 서로 상호 작용할 수 있도록 하는 메소드 등이 소프트웨어 인터페이스에 속한다.
대표적인 소프트웨어 인터페이스가 API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)입니다. API는 응용 프로그램 간에 호환이 가능하도록 상호 작용하는 방법을 정해 놓은 것입니다.
기계, 특히 컴퓨터와 사용자(인간) 사이의 상호 작용과 정보 교환을 위한 인터페이스
사용자 인터페이스는 크게 입력과 출력의 두 가지 방법을 제공한다.
입력은 사용자가 시스템을 조작하는 방법을 정의
출력은 사용자가 조작에 따라 시스템이 생성한 결과를 제시하는 수단
좋은 사용자 인터페이스는 심리학과 생리학에 기반하여 사용자가 필요한 요소를 쉽게 찾고 사용하며 정확한 결과를 손쉽게 얻어낼 수 있도록 설계해야 한다.
컴퓨터에서의 사용자 인터페이스는 프로그램이 사용자에게 표시되는 그래픽, 텍스트, 음성 정보와 사용자가 프로그램을 제어하는 사용자 제어 시퀀스에 대한 상호 작용 방법을 모두 포함한다.