API란?

JoJo·2024년 5월 11일
0
post-thumbnail

✔️ API의 정의

API란 "Application Programming Interface"의 약자로, 프로그램 또는 소프트웨어와 상호 작용하기 위한 인터페이스를 의미합니다.

한 단어 씩 나누어 보면,

Application : 특정한 업무를 수행하기 위해 개발된 응용 소프트웨어

Programming :컴퓨터에 부여하는 명령을 만드는 작업. 수식이나 작업을 컴퓨터에 알맞도록 정리해서 순서를 정하고 컴퓨터 특유의 명령코드로 고쳐 쓰는 작업

Interface : 사물과 사물 사이 또는 사물과 인간 사이의 경계에서, 상호 간의 소통을 위해 만들어진 물리적 매개체나 통신 규칙

종합하자면, 응용 소프트웨어를 만드는데 쓰는 매개체나 통신규칙 이라고 할 수 있습니다.

클라이언트와 서버 사이의 데이터 전송 통신을 위한 규칙이라고도 볼 수 있습니다.


✔️ API의 종류

  • 라이브러리 API

    프로그래밍 언어나 프레임워크에서 제공되는 함수나 클래스 등의 인터페이스를 의미합니다.
ex. Java 에는 JavaAPI가 있고, Python에는 Python표준 라이브러리와 외부 라이브러리들이 API를 제공함.
  • 웹 API

    HTTP 프로토콜을 통해 웹 서버와 통신하는 인터페이스를 의미합니다. 대부분의 경우, 클라이언트가 서버에 요청을 보내고 서버는 요청에 대한 응답을 제공합니다.
ex. RESTful API, SOAP API 등
  • 운영 체제 API

운영체제(OS)에서 제공하는 기능에 접근하기 위한 인터페이스를 의미합니다. 이를 통해 파일 시스템, 네트워크, 프로세스 관리 등의 기능에 접근할 수 있습니다.

  • 소프트웨어 API

다른 소프트웨어나 시스템과 상호 작용하기 위한 인터페이스를 말합니다.

ex. 데이터페이스 시스템은 데이터를 제정, 수정, 검색하는 기능을 제공하는 API

✔️ API의 장점

  • 상호 운영성 및 통합

API는 서로 다른 시스템 간에 데이터 및 기능을 교환하고 통합할 수 있도록 해줍니다. 이는 서로 다른 플랫폼이나 언어를 사용하는 시스템 간에도 통신이 가능하게 해줍니다.

  • 재사용성

API를 사용하여 공통된 기능이나 서비스를 제공할 수 있습니다. 이는 중복을 피하고 개발 시간을 단축시키며, 코드의 일관성을 유지할 수 있게 해줍니다.

  • 모듈화

API는 서비스를 모듈화하여 개발할 수 있도록 도와줍니다. 각각의 모듈은 독립적으로 개발, 테스트, 배포될 수 있으며, 유지보수가 용이합니다.

  • 확장성

API는 시스템을 쉽게 확장할 수 있도록 해줍니다. 새로운 기능이나 서비스를 추가하거나 기존의 기능을 업데이트할 때 API를 통해 상호 작용할 수 있습니다.


✔️ API의 단점

  • 보안 문제

API는 외부와 상호 작용을 허용하므로 보안 문제가 발생할 수 있습니다. 적절한 보안 조치 없이는 데이터 유출이나 악의적인 공격에 노출될 수 있습니다.

  • 호환성 문제

새로운 API 버전이 출시되면 이전 버전과의 호환성을 유지해야 하며, 이를 관리하는 것은 복잡할 수 있습니다.

  • 성능 문제

API 호출은 네트워크를 통해 이루어지기 때문에 시간이 소요됩니다. 과도한 API 호출이나 느린 응답 속도는 성능 문제를 야기할 수 있습니다.

  • 의존성

외부 API에 의존하는 경우 외부 서비스의 가용성에 영향을 받을 수있습니다. 따라서 외부 서비스의 안정성과 가용성을 고려해야 합니다.

profile
꾸준히

0개의 댓글