메모

API, 라이브러리, 프레임워크 무엇일까?

어렵지만 2025. 11. 13. 14:56

개발을 하다보면 API, 라이브러리, 프레임워크 이런 말들을 들어보곤했습니다..ㅎ

이해가 되지 않은 상태에서 듣다보니 잘 몰라서 찾아서 초등학생에게도 이해할만큼..? 나름 풀어서 이야기해보겠습니다.

 

  목차
   1. API: 똑똑한 프로그램들의 소통 규칙
       [쉬운 이해] API는 식당의 점원
       [조금 더 깊게] API의 진짜 의미와 작동 방식
        [한눈에 보기] API의 종류와 사용 이유
   2. 라이브러리와 프레임워크: 개발자의 단짝 친구
       [핵심 차이] 주도권이 누구에게 있는가?
       [쉬운 이해] 집 짓기로 알아보는 라이브러리와 프레임워크
       [한눈에 비교] 라이브러리 vs 프레임워크
   3. 최종 정리: 그래서, 뭐가 다른 건가요?

 

1. API: 프로그램들의 소통 규칙

음.. 식당을 예로 들어보자..ㅎㅎ

1.1 나(손님) : 맛있는 음식을 먹고 싶은사람

1.2 점원: 손님에게 주문을 받아 주방에 내용을 전달함 (손님과 주방을 연결)

1.3 주방: 음식 재료와 요리사가 있는 곳

 

음,, 손님일때 제가 주방에 막 들어가서 주문이나 재료를 가져오거나 요리법을 물어볼순없죠..? 이때는 점원이 필요합니다.

손님은 점원에게 메뉴판을(규칙)을 보고 햄버거 하나 주세요 라는 요청을 하고 점원은 주방에서 완성된 햄버거를 가져다 주는 응답을 하게 됩니다.

 

 API가 바로 이 점원의 역할을 합니다. 우리가 쓰는 앱(손님)이 필요한 정보를 가진 다른 프로그램(주방)에게 정해진 규칙에 따라 요청하고, 그 결과를 안전하게 받아올 수 있도록 해주는 역할을 합니다.

 

  > [실생활 예시]
  > 날씨 앱(손님)에서 날씨 보기 버튼을 누르면, API(점원)가 기상청 서버(주방)에 가서 "서울 날씨
  정보 주세요!"라고 요청하고, 받아온 정보를 우리 화면에 보여줍니다.

 

Application Programming Interface의 약자로써 프로그램들이 서로 통신하기 위해 만든 약속이자 접점입니다.

정보를 요청하는 쪽을 클라이언트, 정보를 제공하는 쪽을 서버라고 부르며, API는 이 둘 사이의 중간다리 역할을 하며

프로그램이 서로 소통하기 위해 사용하는 연결 지점 이라는것..!!

 

API덕분에 클라이언트는 서버의 내부 구조를 몰라도 필요한 정보나 기능을 쉽게 가저올수있으며 날씨 API, 지도 API, 유튜브 API, 결제 API 등 여러가지가 있다

 

라이브러리, 프레임 워크 주도권이 누구에게 있는가?

 

라이브러리: 내가 필요할 때 마다 도구를 가져다 쓰는 것. 주도권은 개발자(나)에게 있음.

프레임워크: 정해진 툴(뼈대)안에서, 내가 비어있는 부분을 채워 넣는 것, 주도권은 프레임워크에 있음!!

 

쉬운이해로 가보자

레고 블럭가게에 가서 필요한 블록(벽돌, 창문, 문) 등을 마음대로 사오는것.. 이 블록들을 어디에 사용하고 쓸건진 전적으로 개발자 (나) 의 자유이며 문을 지붕에 달 수도 있고 창문을 바닥에 둘수도있음 이것이

라이브러리

 

집의 뼈대(기둥, 바닥, 천장) 등 만들어져있는 조립식 집을 사는 것과 같음. 내가 할 일은 정해진 위치에 벽지를 바르거나, 가구를 놓거나, 페인트 칠을 하는 것 내 마음대로 기둥을 옮기거나 없앨순 없음 큰 틀이 정해준 규칙에 따라 내 코드를 채우는 것 이것이

프레임 워크

구분 라이브러리 프레임워크
개념 유용한 기능들의 모음(도구상자) 프로그램의 뼈대 (조립식 키트)
주도권 나 (개발자) 프레임워크
사용법 내가 필요할때 함수룰 호출해서 사용 프레임워크가 내 코드를 호출해서 실행
자유도 높음 (내가 마음대로 사용) 낮음 (정해진 규칙을 따라)
예시   웹사이트 만드는 도구 (Django, React)

 

그래서 뭐가 다른거냐!!?
마지막 비유로 마트에서 장을 보는 상황으로 마무리 해보자...

 

오늘 먹을것 : 카레

프레임워크: 장을 보러간 '마트' 그 자체 마트에는 정육, 채소, 계산대 등 정해진 구조와 동선  이 구조를 따라가야지만 장을 볼 수 가있음

 

라이브러리: 마트에 진열된 카레가루, 감자, 당근과 같은 재료 나는 필요한 재료(라이브러리)를 골라서 내 장바구니에 담고 요리할것

 

API: 장을 다 보고 셀프 계산대에서 계산을 합니다. 바코드를 찍고 카드를 넣기만 하면 됩니다. 계산대 내부가 어떻게 동작을하고 돈이 나가는 원리를 몰라도 괜찮음 정해진 방법대로 사용하기만 하면 됩니다...

 

읽어보시고 이해가 안되는 부분있으면 댓글로 남겨주십셔..