I/F (Interface)

아현·2021년 12월 10일
0

Computer Science

목록 보기
19/47
post-thumbnail

출처, 출처2


1. I/F 란?


  • 인터페이스

    • 서로 다른 사물이나 시스템 간에 커뮤니케이션(소통)이 가능하도록 설계한 상호 작용 방식

    • 사물과 사물 사이 또는 사물과 인간 사이의 경계에서, 상호 간의 소통을 위해 만들어진 물리적 매개체나 프로토콜을 말한다.

    • I/F로 축약하여 사용하기도 한다.

  • 크게 ‘하드웨어 인터페이스’, ‘소프트웨어 인터페이스’ 그리고 ‘사용자 인터페이스’의 세 가지로 구분된다.



하드웨어 인터페이스


  • 서로 다른 물리적인 기기들을 연결하여 상호 작용할 수 있도록 하는 장치나 방법
  • 컴퓨터 등 정보 기기의 하드웨어 간 통신을 위해서 존재하는 입출력 포트의 전기적 연결 장치인 커넥터(connector), 신호의 송수신 방법(프로토콜) 등을 말한다.

  • 컴퓨터 관련 버스, 저장 장치 및 다양한 입출력 기기들 내에 존재하며, 주로 병렬 연결과 직렬 연결로 나뉘어진다. 컴퓨터 내부 장치나 구성 요소간의 상호 접속을 가능하게 하는 플러그, 커넥터, 카드 등이 하드웨어 인터페이스에 속한다.

    • 하드웨어 인터페이스의 종류로는 USB(Universal Serial Bus)와 같은 직렬 커넥터, RS-232C와 같은 통신용 직렬 인터페이스, SCSI와 같은 병렬 인터페이스 장치 등이 있다.



소프트웨어 인터페이스


  • 소프트웨어, 즉 컴퓨터의 하드웨어의 동작을 지시하고 제어하는 프로그램들이 상호 작용하는 방식

    • 소프트웨어, 즉 컴퓨터의 하드웨어의 동작을 지시하고 제어하는 프로그램들이 상호 작용하는 방식을 소프트웨어 인터페이스라고 합니다.
  • 소프트웨어 간의 통신을 위해 메시지를 전달하는 방식 등이 결정된 것으로, 다양한 레벨에서 다양한 종류의 인터페이스가 존재한다.

    • 운영체제(OS)와 하드웨어들 사이의 인터페이스, 운영체제와 응용 프로그램이 상호 작용하는 인터페이스, 객체 지향 프로그래밍에서 응용 내의 객체들이 서로 상호 작용할 수 있도록 하는 메소드 등이 소프트웨어 인터페이스에 속한다.

      • 소프트웨어 설계 시 자원에 대한 접근을 잘 정의된 진입점(entry point), 즉 인터페이스를 통해서만 가능하도록 함으로써 시스템 자원에 대한 기능성과 안정성을 제공할 수 있다.

대표적인 소프트웨어 인터페이스가 API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)입니다. API는 응용 프로그램 간에 호환이 가능하도록 상호 작용하는 방법을 정해 놓은 것입니다.



사용자 인터페이스


  • 기계, 특히 컴퓨터와 사용자(인간) 사이의 상호 작용과 정보 교환을 위한 인터페이스

    • 컴퓨터 상호 작용(HCI : human-computer interaction) 혹은 인간-기계 인터페이스(MMI : man-machine interface)라고도 한다.
  • 사용자 인터페이스는 크게 입력과 출력의 두 가지 방법을 제공한다.

    • 입력은 사용자가 시스템을 조작하는 방법을 정의

    • 출력은 사용자가 조작에 따라 시스템이 생성한 결과를 제시하는 수단

  • 좋은 사용자 인터페이스는 심리학과 생리학에 기반하여 사용자가 필요한 요소를 쉽게 찾고 사용하며 정확한 결과를 손쉽게 얻어낼 수 있도록 설계해야 한다.

  • 컴퓨터에서의 사용자 인터페이스는 프로그램이 사용자에게 표시되는 그래픽, 텍스트, 음성 정보와 사용자가 프로그램을 제어하는 사용자 제어 시퀀스에 대한 상호 작용 방법을 모두 포함한다.

    • 사용자 인터페이스 종류로는 그래픽 사용자 인터페이스(GUI : graphical user interface), 웹 사용자 인터페이스(WUI : web user interface), 명령 줄 인터페이스(CLI : command-line interface), 배치 인터페이스(batch interface), 터치 인터페이스(touchinterface), 음성 사용자 인터페이스 등이 있다.



profile
Studying Computer Science

0개의 댓글