Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 새벽공부
- try-catch
- 자바
- 인스턴스
- 문자 단위 스트림
- 코딩
- 상속
- Java
- throws
- node.js
- 바이트 단위 스트림
- SSR
- ArrayList
- 변수
- 백엔드
- 개발자
- 다형성
- 초보개발자
- 코린이
- 자료형
- 파이팅
- 인터페이스
- 예외 처리
- MPA
- 배열
- 졸리다
- 메서드
- exception
- FileInputStream
- 보조 스트림
Archives
- Today
- Total
SHUSTORY
Interface 본문
728x90
👽 인터페이스
공부를 하다보면, '인터페이스' 라는 단어를 여기저기에서 많이 접하게 되는데, 이 '인터페이스' 라는게 명확하게 무엇일까?
- 인터페이스는 '약속'이다.
- 함수가 됐든, 네트워크 패킷이 됐든, 외부 입력 장치가 됐든 상호작용을 위해서 미리 정의된 약속이 인터페이스이다.
다시 말해, 정의된 약속 그대로 무의식 가운데 쓰이는 것이 인터페이스 이다. - 실생활에 빗대어 예시를 들어보자면 TV 리모컨, 컴퓨터의 파워 전원버튼, 변기의 레버, 고깃집의 호출벨 등을 인터페이스로 볼 수 있다.
- 개발에서 API나, 코드 내 함수 하나도 인터페이스가 될 수 있다.
- 함수가 됐든, 네트워크 패킷이 됐든, 외부 입력 장치가 됐든 상호작용을 위해서 미리 정의된 약속이 인터페이스이다.
👽 여러 문맥에서의 인터페이스
🫨 인터페이스의 개념에 대해서는 대략적으로 이해가 갔지만, 구체적으로 어떤 것들을 보고 인터페이스라고 부르는지에 대해서는 개념이 모호하게 잡히는 것 같다. 그렇기에 여러 문맥에서의 인터페이스에 대해 간략하게 정리해보겠다.
🧑🎤 하드웨어 인터페이스
- 하드웨어 인터페이스는 컴퓨터 시스템, 주변 장치, 네트워크 장비 등 다양한 하드웨어 간의 효과적인 소통을 도와주는 장치나 방법이다.
- 하드웨어 인터페이스의 종류
- 포트 : 컴퓨터나 장치에서 다른 장치와의 연결 지점을 나타낸다.
(USB 포트, 이더넷 포트..) - 플러그 : 전자기기나 케이블의 끝 부분에 있는 커넥터로, 포트에 삽입하여 전기적 연결을 제공한다.
(USB 플러그, 전원 플러그..) - 케이블 : 두 장치 사이에서 데이터나 전력 전송을 위해 사용되는 전선 또는 광섬유
(USB 케이블, HDMI 케이블..)
- 포트 : 컴퓨터나 장치에서 다른 장치와의 연결 지점을 나타낸다.
🧑🎤 소프트웨어 인터페이스
- SW간 또는 SW와 HW 간 상호 작용하는 방식이다.
- OS와 OS 위 응용 프로그램 간에 또는 응용 프로그램들 간에, 혹은 프로그램 내 구성요소(객체, 메소드..) 등이 서로 상호 작용할 수 있는 방법 등을 미리 정해 놓은 것이다.
- 일반적으로 API 형태로 제공되며 특정 동작을 수행하거나 필요한 정보를 제공하는 함수나 메소드의 집합으로 구성되어 있다.
🧑🎤 사용자 인터페이스 (UI - User Interface)
- 컴퓨터(HW+SW)와 사람 간의 상호작용을 가능하게 하는 수단이다.
- 사용자 인터페이스의 종류
- 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 |