본문 바로가기
정보처리기사/이론설명

[이론설명 이기적] 인터페이스 설계

by wildOjisan 2025. 7. 21.

✅ 1. 인터페이스(Interface)란?

정의부터 쉽게 말하면:

두 개체(시스템, 모듈, 장비, 사람 등)가 서로 정보를 주고받기 위해 만든 '접점' 또는 '약속된 방식'이야.


✅ 2. 왜 필요한가?

● 시스템은 혼자 돌아가지 않음

  • 예: 은행 시스템 = 계좌 관리 시스템 + 대출 시스템 + 카드 시스템 등이 서로 연결되어 있음
  • 이때 서로 다르게 만든 시스템들끼리 어떻게 정보를 주고받을까?

👉 그걸 표준화된 방식으로 연결해주는 게 인터페이스야.


✅ 3. 현실 예시로 이해해보자

상황인터페이스 역할
은행 앱이 신용카드 내역 불러올 때 은행 앱과 카드 시스템 사이에 데이터 교환 방식(인터페이스) 이 있음
컴퓨터에 USB 꽂을 때 USB는 물리적 인터페이스: 연결 규격과 데이터 전송 방식
웹 브라우저가 서버에 요청 보낼 때 HTTP라는 통신 인터페이스를 사용
 

즉, 인터페이스가 없으면 각자 따로 놀아서 시스템 통합이 불가능해짐.

 

 

 

-----------------------------------------------------------------------------------------------------------------------------

 

 

 

시스템 연계 기술

시스템 A와 시스템 B가 데이터를 주고받기 위해 사용하는 구체적인 방식

예)

  • 쇼핑몰에서 결제하면 → 결제 시스템이 카드사 서버에 요청 → 승인 결과 받음
  • 이때 두 시스템이 어떻게 연결돼서 데이터를 주고받을까?연계 기술이 필요함

 

 

DB Link (Database Link)

🔹 뜻:

  • 서로 다른 데이터베이스(DB)끼리 직접 연결해서 쿼리를 날릴 수 있게 하는 기술

🔹 예시:

  • 본사 DB 서버 ↔ 지점 DB 서버 연결
    → 본사에서 직접 지점의 고객 데이터를 조회할 수 있음
 
SELECT * FROM 고객@지점DB;

@지점DB처럼 원격 DB에 쿼리 보내는 거야

 

 

DB Connection (JDBC 등 포함)

🔹 뜻:

  • 프로그램이 DB에 접속(Connection) 해서 데이터를 조회하거나 저장하는 방식
  • Java에서는 JDBC라는 기술로 구현함

🔹 예시:

  • 자바로 만든 웹사이트 → DB에서 회원 목록 가져오기
 
Connection conn = DriverManager.getConnection(DB_URL, ID, PW);

 

 

API (Application Programming Interface) 

* 가장 많이 쓰이는 시스템 연계 방식

🔹 뜻:

  • 프로그램끼리 약속된 형식으로 데이터를 주고받는 통신 규칙

🔹 예시:

  • 네이버 날씨 API
    → 우리 앱에서 GET /weather?city=Seoul 요청 → JSON으로 날씨 정보 응답 받음

{
  "city": "Seoul",
  "temp": "28.3",
  "status": "Cloudy"
}

 

Hyperlink (하이퍼링크)

🔹 뜻:

  • 클릭하면 다른 페이지나 문서로 이동하게 하는 웹 링크 방식

🔹 예시:

  • 네이버에서 뉴스 제목을 클릭하면 기사 페이지로 이동
    → <a href="https://news.naver.com">

 

Socket (소켓 통신)

🔹 뜻:

  • 네트워크를 통해 프로그램끼리 실시간으로 데이터를 주고받는 통신 채널

🔹 예시:

  • 카카오톡 실시간 채팅
    → 서버와 클라이언트가 소켓으로 연결되어 텍스트를 실시간 전송
[클라이언트 → 서버]
메시지: "안녕!"

[서버 → 상대방 클라이언트]
메시지: "안녕!"