SHUSTORY

Interface 본문

CS

Interface

어서오시우 2024. 10. 18. 17:07
728x90

 

👽 인터페이스

공부를 하다보면, '인터페이스' 라는 단어를 여기저기에서 많이 접하게 되는데, 이 '인터페이스' 라는게 명확하게 무엇일까?

  • 인터페이스는 '약속'이다.
    • 함수가 됐든, 네트워크 패킷이 됐든, 외부 입력 장치가 됐든 상호작용을 위해서 미리 정의된 약속이 인터페이스이다.
      다시 말해, 정의된 약속 그대로 무의식 가운데 쓰이는 것이 인터페이스 이다.
    • 실생활에 빗대어 예시를 들어보자면 TV 리모컨, 컴퓨터의 파워 전원버튼, 변기의 레버, 고깃집의 호출벨 등을 인터페이스로 볼 수 있다.
    • 개발에서 API나, 코드 내 함수 하나도 인터페이스가 될 수 있다.

 

👽 여러 문맥에서의 인터페이스

🫨 인터페이스의 개념에 대해서는 대략적으로 이해가 갔지만, 구체적으로 어떤 것들을 보고 인터페이스라고 부르는지에 대해서는 개념이 모호하게 잡히는 것 같다. 그렇기에 여러 문맥에서의 인터페이스에 대해 간략하게 정리해보겠다.

 

🧑‍🎤 하드웨어 인터페이스

  • 하드웨어 인터페이스는 컴퓨터 시스템, 주변 장치, 네트워크 장비 등 다양한 하드웨어 간의 효과적인 소통을 도와주는 장치나 방법이다.

  • 하드웨어 인터페이스의 종류
    • 포트 : 컴퓨터나 장치에서 다른 장치와의 연결 지점을 나타낸다.
      (USB 포트, 이더넷 포트..)
    • 플러그 : 전자기기나 케이블의 끝 부분에 있는 커넥터로, 포트에 삽입하여 전기적 연결을 제공한다.
      (USB 플러그, 전원 플러그..)
    • 케이블 : 두 장치 사이에서 데이터나 전력 전송을 위해 사용되는 전선 또는 광섬유
      (USB 케이블, HDMI 케이블..)

 

🧑‍🎤 소프트웨어 인터페이스

  • SW간 또는 SW와 HW 간 상호 작용하는 방식이다.
    • OS와 OS 위 응용 프로그램 간에 또는 응용 프로그램들 간에, 혹은 프로그램 내 구성요소(객체, 메소드..) 등이 서로 상호 작용할 수 있는 방법 등을 미리 정해 놓은 것이다.
  • 일반적으로 API 형태로 제공되며 특정 동작을 수행하거나 필요한 정보를 제공하는 함수나 메소드의 집합으로 구성되어 있다.

 

🧑‍🎤 사용자 인터페이스 (UI - User Interface)

  • 컴퓨터(HW+SW)와 사람 간의 상호작용을 가능하게 하는 수단이다.

이미지 출처 : https://builtin.com/software-engineering-perspectives/command-line-interface

  • 사용자 인터페이스의 종류
    • CLI(Command Line Interface)
    • GUI(Graphical User Interface)
    • 음성 인터페이스

 

🧑‍🎤 프로그래밍 인터페이스 (API - Application Programming Interface)

  • SW 어플리케이션 간의 상호작용을 가능하게 하는 규칙과 도구의 집합으로,
    한 SW가 다른 SW와 통신하고 데이터를 교환할 수 있도록 해준다.
  • API는 다른 SW와의 통합을 쉽게 만들어주고, 개발자들이 다른 SW의 기능을 사용할 수 있도록 도와준다.

🫠 지금은 API의 개념이 추상적으로 다가올 수 있지만, 이후 더 자세히 다룰 예정이니 이번 시간에는 간략히 설명하고 넘어가겠다.

 

 

+ interface를 만들 때에는 직관적인 입출력, 쉬운 접근성과 대중성을 고려하도록 하자 !
simple is the best

'CS' 카테고리의 다른 글

JSON, XML, YAML  (2) 2024.11.04
API  (5) 2024.11.02
Frontend / Backend  (5) 2024.11.01
MPA / SPA  (2) 2024.10.30
CSR / SSR  (6) 2024.10.23