본문 바로가기
개발 공부

API란 무엇인가

by MiaCoder 2024. 2. 26.

 

개발을 조금 공부하거나, 파이썬, 자바 등을 통해 코딩을 할 때 자주 접하게 되는 단어가 있습니다.

 

바로 API입니다. 

 

API는 Application Programming Interface의 약자로 프로그램간 상호작용할 수 있도록 정의된 인터페이스를 의미합니다.

 

간단하게 이야기 하면 콘센트도 모양이 맞아야 정기가 통합니다 이와 같이

응용 프로그램간의 소통을 위한 규약이라고 생각하시면 좋겠습니다.

 

API에는 대표적으로 3가지가 있습니다.

 

 

1. 웹 API

 

 

 

웹서비스와 클라이언트 사이에 데이터를 주고받기 위한 규칙과 프로토콜입니다.

 

RESTtful API 

자원과 자원에 대한 상태를 나타내기 위한 아키텍처 스타일 주로 HTTP메서드(GET, POST, PUT, DELETE 등)을 사용하여

자원을 다룹니다. URL을 통해 식별되며 JSON형식으로 이루어집니다.

자원이란 서비스에서 제공하는 데이터 등을 의미합니다. 예를 들어 사용자 프로필과 그에 대한 정보 등이 있습니다.

 

SOAP API

XML기반의 프로토콜입니다. XML의 형태로 통신을 하며, HTTPS, SMTP, TCP등 다양한 프로토콜을 통해 통신합니다.

메시지 구조가 업격해 서로 다른 플랫폼간 통신에  적적합니다.

 

 

 

2. 라이브러리 API

특정 프로그래밍 언어에서 사용할 수 있는 라이브러리나 모듈에대한 인터페이스를 정의한 것입니다.

이 API를 사용하면 해당 기능을 사용할 수 있습니다.

즉 해당 프로그램에 API를 통해 통신하여 기능을 가져와서 사용할 수 있는 것입니다.

 

요즘 핫한 chatGPT를 예로 들자면, 파이썬 프로그램에서 api키를 통해 openai에 인증을 진행하고, api형식을 통해 요청했기에

정확한 값을 받아옴으로서 해당기능을 사용할 수 있는 것입니다.

 

 

 

3. 운영체제 API

운영체제의 기능을 사용하기 위해 인터페이스로 정의한 것입니다. 

파일시스템 API 파일의 생성, 읽기 ,쓰기, 사제 등과 같은 작업을 수행할 수 있는 API입니다.

메모리 관리 API 메모리 할당과 해제, 프로세스간 메모리공유등을 작업할 수 있는 API입니다.

프로세스제의 API 프로세스의 생성, 종료, 우선순위 조절 등 과 같은 작업을 수행할 수 있도록 하는 API입니다.

시스템호출 API 운영체제에서 제공하는 다양한 시스템 호출을 활용하여 특정 하드웨어 기능이나 운영체제 기능을 사용할 수 있습니다.