본문 바로가기
IT/기술블로그

컴퓨터에서 Interface란?

by D.O.T 2024. 1. 2.

먼저, Interface의 뜻은 상호 작용이라고 합니다. (Google 번역기)

상호 작용이라고 하면 A와 B가 서로 물건을 주고 받든, 대화를 하든 싸움을 하든(?)

두 개 이상의 무언가가 서로 무언가를 하는 것이다.

 

정의한 내용이 추상적이라고 생각할 수 있다. 그래서 컴퓨터에서는 이 추상적인 개념을 사용한다.

※ 참고로 Interface의 개념을 정확히 알고 있으면 SW 오류, HW 오류 등 이점이 너무 많습니다.

    작성자는 군대 통신병 출신으로 초 ACE였습니다. 군대 통신병이라면 참 중요할 겁니다.

 

만약에 컴퓨터와 사람간의 인터페이스를 생각해보자. 


컴퓨터 <ㅡ> 사람

이 글을 보는 '화면'은 컴퓨터와 사람과의 인터페이스이다.

컴퓨터는 기계 부품으로 전기적인 신호 0 or 1로만 동작을 한다.

근데 우리가 볼 때는 글자와 그림 등 시각적인 자료로 보게 된다.

이것을 GUI(Graphical User Interface)라고 한다.

그럼 조금 더, 세분화해서 보자. 


컴퓨터 <ㅡ> 디스플레이

사람이 컴퓨터 정보를 화면을 통해서 보기 전에, 화면에 나타나는 작업이 먼저 이루어질 것이다.

화면에 나타날 때, 어떤 과정이 발생할 것인가?

컴퓨터 정보는 본체 내 RAM에 저장되어 있고, CPU를 통해 처리를 한다.

 

직관적으로 생각해보자. 본체 -> 디스플레이(모니터) 어떻게 전달되는가?

오늘날 주로 HDMI(High Definition Multimedia Interface)를 사용한다.

HDMI라는 선을 아는 사람은 많을 것인데 이것 또한 Interface라고 생각해 본 사람은 별로 없을듯 (작성자도 글쓰다 앎)

 

즉, HDMI라는 Interface로 디스플레이와 컴퓨터는 주고 받는다.

이 Interface의 기능을 수행할 수 있도록 하는 것이 Driver이다.

Display Driver


조금 더 생각해서 아 위 내용까지는 OK,

그럼 Display로 그냥 보내지는가?

이 때, 또 Display로 정보를 보내기 위해서 ABI(Application Binary Interface)를 통해 Display로 정보를 전달한다.

 

여기까지가 인터페이스에 대한 나의 정리

컴퓨터에는 인터페이스가 정말 중요하고 많이 사용된다.

컴퓨팅 사고 중 늘 나오는 설명이 '추상화'이기 때문이다.

정말 중요한 OOP, OS, Network, ... 걍 컴퓨터는 거의 다 Interface로 이루어져 있는 것 같다.

 

컴퓨터에서 사용되는 Interface 개념을 이런 관점으로 한 번 바라보자!

# 신라면을 구매 시 불량일 경우 본사에서 20배로 배상하겠습니다. 라는 공약이 있다고 해보자.

우리가 신라면을 1,000원에 구매했는데 스프가 빠진 불량품이다. 우리에게 바로 20,000원이 생기는가?

농심에 전화를 하고, 관련 부서로 연락이 되고, 해당 부서에서 어떤 절차를 통해서 배상을 받게 될 것이다.

이렇게 정보를 나만 가지고 있어서는 절대로 Interface가 될 수 없다.

내가 불량품을 구매했다는 정보를 건네어야만 리턴 값이 존재한다 ㅡ> Interface

 

통신병 관점도 봐볼까요?

- 전산병 : PC 고칠 때, 위에서 설명한 내용들을 알고 있으면 부품 구간 구간 어느 부분에서 문제일지 명확한 테스트 가능

- 가설병 : 선로 점검 또는 결선, 구간 구간 테스트하는 개념 등..

 

나이브하게 전화만해도 얼마나 많은 인터페이스로 나눌 수 있을지... ㄷㄷㄷ

 

이 글을 읽은 사람들은

1. 우리가 키보드로 입력한 내용이 어떻게 바로 화면에 보이는가?

2. 우리가 마우스로 하는 작업이 어떻게 바로 화면에 보이는가?

이런 내부 과정을 한 번 알아보려는 것도 좋을 것 같다.

 

(해당 글은 블로그입니다. 공부를 하는 학생이므로 잘못된 정보가 있으면 알려주시면 감사하겠습니다.)