Interfaces

소프트웨어나 애플리케이션에서 인터페이스(Interface)는 두 개의 시스템, 프로그램, 장치 또는 구성 요소 간의 상호 작용을 가능하게 하는 연결점 또는 접점을 의미한다.

인터페이스의 역할

  1. 통신 매개체: 서로 다른 시스템이나 구성 요소 간의 통신을 가능하게 한다.
  2. 추상화: 복잡한 내부 구현을 숨기고 간단한 사용 방법을 제공한다.
  3. 표준화: 상호 작용 방식을 정의하여 일관된 통신을 보장한다.
  4. 모듈화: 시스템을 독립적인 부분으로 분리하여 개발과 유지보수를 용이하게 한다.

인터페이스의 주요 기능

  1. 데이터 교환: 시스템 간에 정보를 주고받을 수 있게 한다.
  2. 기능 접근: 다른 시스템이나 모듈의 기능을 사용할 수 있게 한다.
  3. 호환성 보장: 서로 다른 시스템이나 버전 간의 호환성을 제공한다.
  4. 사용자 상호작용: 사용자와 시스템 간의 상호작용을 가능하게 한다(사용자 인터페이스의 경우).
  5. 오류 처리: 시스템 간 상호작용 중 발생할 수 있는 오류를 관리한다.

프로그래밍 언어에서 인터페이스의 간단한 예시

 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
// Java에서의 인터페이스 예시
public interface Vehicle {
    // 추상 메서드 정의 - 구현하는 클래스에서 반드시 정의해야 함
    void start();
    void stop();
    double getFuelEfficiency();
}

// 인터페이스를 구현하는 구체적인 클래스
public class Car implements Vehicle {
    @Override
    public void start() {
        System.out.println("Car started");
    }

    @Override
    public void stop() {
        System.out.println("Car stopped");
    }

    @Override
    public double getFuelEfficiency() {
        return 15.5; // 리터당 킬로미터
    }
}

이 예시에서 Vehicle 인터페이스는 모든 차량이 가져야 할 기본적인 메서드를 정의하고, Car 클래스는 이를 구체적으로 구현한다.


용어 정리

용어설명

참고 및 출처