본문 바로가기
  • hello world
Computer Science/Studying

인터페이스 Interface

by JJoajjoa 2023. 11. 13.

 

 

인터페이스(Interface)

시스템, 장치, 프로그램 또는 사용자 간의 상호작용을 가능하게 하는 경계면

즉, 인터페이스는 서로 다른 두 개체가 소통하고 협력할 수 있도록 하는 방법이나 도구를 의미

 

사용자 인터페이스(User Interface, UI)

사람과 컴퓨터 시스템 간의 상호작용을 가능하게 하는 요소

사용자가 컴퓨터나 애플리케이션과 상호작용할 수 있도록 돕는 방법이나 도구

  • 그래픽 사용자 인터페이스(GUI) 
    마우스, 아이콘, 창 등을 통해 상호작용하는 방식 (ex 윈도우 운영체제, 스마트폰 앱 화면)
  • 명령 줄 인터페이스(CLI)
    텍스트 명령을 통해 상호작용하는 방식 (ex 터미널, 명령 프롬프트)

 

소프트웨어 인터페이스

두 개의 소프트웨어 시스템이나 모듈이 서로 소통하고 데이터를 주고받을 수 있도록 하는 방법

  • API (Application Programming Interface) 
    소프트웨어 애플리케이션 간의 상호작용을 가능하게 하는 인터페이스
    ex) 페이스북의 API를 통해 다른 애플리케이션이 페이스북에 게시물을 올릴 수 있음
  • 라이브러리 인터페이스
    소프트웨어 라이브러리가 제공하는 함수나 메서드를 통해 다른 프로그램이 기능을 사용할 수 있음
    ex) 수학 연산을 위한 라이브러리의 함수들이 라이브러리 인터페이스에 해당

 

하드웨어 인터페이스

두 개의 하드웨어 장치가 서로 통신하고 데이터를 주고받을 수 있도록 하는 방법

  • USB 인터페이스
    USB 포트를 통해 컴퓨터와 외부 장치(예: 키보드, 마우스, 외장 하드디스크)가 상호작용
  • HDMI 인터페이스
    HDMI 케이블을 통해 컴퓨터나 블루레이 플레이어와 모니터나 TV가 상호작용

 

객체 지향 프로그래밍에서의 인터페이스

클래스들이 구현해야 하는 메서드의 집합을 정의하는 역할

인터페이스 자체는 구현을 포함하지 않고, 구현은 이를 사용하는 클래스에서 제공됨

java
interface Animal {
    void eat();
    void sleep();
}

class Dog implements Animal {
    public void eat() {
        System.out.println("Dog is eating");
    }
    public void sleep() {
        System.out.println("Dog is sleeping");
    }
}
 

이 예시에서 Animal 인터페이스는 eat과 sleep 메서드를 정의하고 있으며,

Dog 클래스는 이 인터페이스를 구현하여 해당 메서드들을 실제로 정의하고 있음

 

 

요약

인터페이스는 다양한 시스템, 장치, 프로그램 또는 사용자 간의 상호작용을 가능하게 하는 경계면
각기 다른 맥락에서 인터페이스는 다음과 같은 역할을 합니다:

  • 사용자 인터페이스(UI): 사용자와 컴퓨터 시스템 간의 상호작용을 돕는 요소.
  • 소프트웨어 인터페이스(API 등): 소프트웨어 시스템 간의 상호작용을 가능하게 하는 방법.
  • 하드웨어 인터페이스: 하드웨어 장치 간의 통신을 가능하게 하는 방법.
  • 객체 지향 프로그래밍에서의 인터페이스: 클래스들이 구현해야 하는 메서드의 집합을 정의.

 

인터페이스는 이러한 상호작용을 명확하고 효율적으로 정의하여

시스템 간의 호환성과 협력성을 높이는 데 중요한 역할을 함!

 

 

'Computer Science > Studying' 카테고리의 다른 글

JSON  (0) 2024.08.13
[정보처리] 어플리케이션 테스트  (3) 2024.07.23
논리 데이터베이스 설계 : 정규화  (0) 2023.10.30
데이터 모델 설계  (0) 2023.10.26
데이터베이스 설계  (0) 2023.10.26