blevels

Home / AI / AI 용어사전 / 인터페이스(Interface) — 서로 다른 코드가 대화하는 계약의 정체

TERM

인터페이스(Interface) — 서로 다른 코드가 대화하는 계약의 정체

게시일 2026-04-30수정일 2026-04-30
공식 링크
On this page

서로 다른 코드 모듈이 어떻게 데이터를 주고받는지 약속한 규격이 인터페이스(Interface)다. 구현의 내부를 공개하지 않고 '어떤 입력을 받아 어떤 출력을 내놓는다'는 계약만 정의한다. API, 타입스크립트의 interface 키워드, AI 모델 연동 모두 인터페이스 개념 위에 놓여 있다.

정의

인터페이스(Interface)는 시스템이나 모듈 간 상호작용 방식을 정의한 규격이다. 내부 구현은 숨기고 외부에서 사용할 수 있는 메서드·속성의 목록과 타입만 명시한다. 영어 원어 'Interface'는 '사이(inter)'와 '면(face)'의 합성어로, 두 대상이 만나는 경계면을 뜻한다. 인터페이스를 정의한다는 것은 "이 경계를 어떻게 통과할 것인가"를 약속하는 일이다.

인터페이스의 세 가지 형태

프로그래밍 언어의 interface

타입스크립트에서 interface는 객체가 반드시 가져야 할 속성과 메서드를 선언하는 구조다. 이 인터페이스를 구현하는 클래스는 선언된 모든 항목을 포함해야 한다.

interface AIModel {
  name: string;
  version: string;
  predict(input: string): Promise<string>;
}

class ClaudeModel implements AIModel {
  name = "Claude";
  version = "4.7";
  async predict(input: string) {
    // 실제 API 호출 구현
    return "응답 텍스트";
  }
}

인터페이스를 따르는 한, 내부 구현이 달라도 외부 코드는 동일하게 사용할 수 있다. Claude를 Gemini로 교체해도 predict 호출 방식은 바뀌지 않는다.

API (Application Programming Interface)

API(api)는 외부 서비스와 통신하는 인터페이스다. Anthropic API는 POST /v1/messages 엔드포인트를 통해 model, messages 파라미터를 받고 AI 응답을 반환한다. 사용하는 쪽은 Claude의 내부 신경망 구조를 알 필요가 없다. 약속된 HTTP 인터페이스만 사용하면 된다.

사용자 인터페이스 (UI)

사람과 소프트웨어가 상호작용하는 경계가 사용자 인터페이스(UI, User Interface)다. 버튼, 입력창, 화면 구성이 모두 이 범주에 속한다. 잘 설계된 UI는 내부 로직이 복잡해도 사용자에게 단순한 조작 방식만 제공한다.

AD

AI 개발에서 인터페이스가 중요한 이유

AI 파이프라인은 데이터 수집 → 전처리 → 모델 추론 → 후처리로 구성된다. 각 단계를 인터페이스로 분리하면 모델을 교체하거나 전처리 로직을 바꿀 때 다른 단계를 건드리지 않아도 된다.

예를 들어 predict(input: string): string 인터페이스를 유지하면 Gemini에서 Claude로 모델을 교체해도 파이프라인 나머지 코드가 그대로 동작한다. 인터페이스는 모듈 간의 결합도를 낮추고 교체 가능성(substitutability)을 높인다.

LangChain의 BaseChatModel, OpenAI의 SDK 설계 모두 이 원칙을 따른다. 다양한 AI 모델을 같은 인터페이스로 추상화해 상위 레이어 코드가 특정 모델에 종속되지 않도록 한다.

관련 용어

  • api — Application Programming Interface, 외부 서비스 연동 규격
  • class — 인터페이스를 구현하는 설계도
  • abstraction — 복잡성을 숨기고 핵심만 노출하는 원칙
  • polymorphism — 같은 인터페이스로 다른 구현을 사용하는 성질
  • typescript — 정적 타입 시스템으로 인터페이스를 강제하는 언어
AD

백링크

이 문서를 참조하는 다른 페이지입니다.