카테고리 없음

API란?

pracoding 2025. 3. 13. 15:10

API (Application Programming Interface) : 소프트웨어 간 데이터를 주고받을 수 있도록 하는 인터페이스

프로그램과 프로그램이 서로 소통하는 방법을 제공

 

+) 인터페이스 (Interface) : 두 개의 시스템, 장치, 소프트웨어 또는 개체가 서로 소통할 수 있도록 하는 연결 지점!

    무언가와 또 다른 무언가를 연결하는 교각역할

    ex) 게임 컨트롤러 (인간과 게임기가 직접 소통할 수 없지만 컨트롤러를 이용해 소통 가능)

    소프트웨어 인터페이스로는 API, UI 등이 있고 하드웨어 인터페이스로는 USB 포트, HDMI 케이블, 블루투스 등이 존재.

    프로그래밍 상에서는 객체 지향 프로그래밍에서 interface 키워드로도 사용됨.

    

     interface Animal {

         void makeSound();        // 이 메서드는 반드시 구현해야 함

      }

   

     class Dog implements Animal {

         public void makeSound(){

                System.out.println("bark!");

        }

     }

 

API의 기능 쉽게 이해하기

클라이언트( 유저 ) : 원하는 기능 선택 및 주문 ->  웨이터 (API) : 주방(서버)에 내용 전달 -> 주방(서버): 음식 조리 후 웨이터 (API) 에 전달 -> 웨이터(API) : 클라이언트에 요리 가져다줌 

 

API 예시

https://api.openweathermap.org/data/2.5/weather?q=Seoul&appid=API_KEY&units=metric

 

q=Seoul : 서울 날씨 정보 요청

appid = API_KEY : API 사용을 위한 키 (인증)

units = metric -> 섭씨 단위로 변환

 

요청을 보내면 API가 JSON 형태의 날씨 정보를 반환.

 

+) JSON (JavaScript Object Notation) : 데이터를 저장하고 교환하기 위한 가볍고 읽기 쉬운 데이터 형식.

    <JSON의 기본 형식> : 키(key)와 값 (value)의 쌍

     ex) {

               "name" : "Alice",

              "age": 25, 

             "city" : "Seoul"   }

 

         쉽게 읽을 수 있고 데이터 교환에 최적화

   

     <JSON이 많이 쓰이는 이유>

      - 가볍고 빠름

      - 사람이 읽기 쉬움

      - 프로그래밍 언어와 뛰어난 호환성

      - 데이터 구조 유지 가능

 

API의 종류

-Open API -> 말 그대로 모두에게 오픈되어 있는 공개 API (ex. Openweather, Google maps)

-Private API -> 특정 기업 내부에서만 사용하는 API (ex. 은행 시스템 API)

-REST API -> 웹에서 가장 많이 사용하는 API 방식 (JSON 데이터 교환)

-GraphQL API -> 필요한 데이터만 요청할 수 있는 API