본문 바로가기
IT/파이썬

인터페이스와 API

by 깡타의 컴맹인생 2022. 12. 25.
반응형

인터페이스와 API

목차
1. 인터페이스(Interface)의 정의
2. 인터페이스의 종류
3. API(Application Programming Interface)의 정의

 

1. 인터페이스(Interface)의 정의

A와 B가 있다면, A와 B가 정보를 주고받을 수 있도록 연결해주는 일종의 매개체다. A와 B는 각각 소프트웨어일 수도, 기계일 수도, 인간일 수도 있다. 이 매개체는 입력과 출력이 가능해야 하며, 프로토콜, 커넥터, 버튼 등이 이에 속한다. 참고로 두산백과에 따르면 '사물과 사물 사이 또는 사물과 인간 사이의 경계에서, 상호 간의 소통을 위해 만들어진 물리적 매개체나 프로토콜을 말한다.'라고 적혀있다. 인터페이스는 하드웨어, 소프트웨어, 사용자 인터페이스로 구분된다.


2. 인터페이스의 종류

 2.1. 하드웨어 인터페이스(Hardware Interface)

하드웨어 간의 통신을 위해 존재하는 매개체. (ex, 포트, 플러그, 소켓, 케이블)

 

 2.2. 소프트웨어 인터페이스(Software Interface)

소프트웨어 간의 통신을 위해서 존재하는 매개체 (ex, API)

 

 2.3. 사용자 인터페이스(User Interface)

사람과 사물, 시스템, 기계, 프로그램 등 사이에서 소통이 가능하도록 만들어진 매개체 (ex, 스마트폰 화면)


3. API(Application Programming Interface)의 정의

직역하면 응용 프로그램 프로그래밍 인터페이스다. 어떤 운영체제나 프로그램 사이에서 데이터를 주고받기 위해 사용되는 언어나 메시지 형식 등을 의미한다. 개발자는 단순히 API에 정의된 입력 값을 통해 원하는 결과 값을 얻을 수 있다. 함수의 내부 구조는 알지 못해도 그 입력 값이 어떤 역할을 수행하며 어떤 결과를 출력한다는 것을 알면 된다.

업체마다 제공하는 API는 모두 다르며 특정 권한을 보유했느냐에 따라 일부 API는 비공개 될 수 있다. 공개된 디지털 콘텐츠(오픈 API)를 활용하여 새로운 프로그램을 개발하는 것을 매쉬업(Mashup)이라고 한다. 아래는 네이버의 오픈 API다.

네이버 오픈 API, 출처 : 네이버

반응형

'IT > 파이썬' 카테고리의 다른 글

EXE 파일이란?  (0) 2023.01.08
Pyqt5 Qt Designer 설치  (4) 2023.01.07
소프트웨어 개발 도구(Software Development Kit, SDK)  (2) 2022.12.27
파이썬 라이브러리란?  (0) 2022.12.24
IDE(통합개발환경)란 무엇인가?  (0) 2022.12.22