본문 바로가기
IT 끄적이기

API, 라이브러리, 프레임워크 - 헷갈리는 개념 정리

by 미르아 2025. 10. 31.
728x90

개발을 하다 보면 “이건 API야”, “저건 라이브러리야” 같은 말을 자주 듣습니다.
하지만 막상 구분하려고 하면 경계가 애매하죠.
특히 API와 라이브러리는 혼용되는 경우가 많습니다.

저 역시 그 모호한 경계 때문에 오래 혼란스러웠습니다.
이 글에서는 세 개념을 명확히 정리해보겠습니다.


1️⃣ 개념 비교

구분 정의 핵심 포인트
API (Application
Programming Interface)
서로 다른 소프트웨어가
상호작용할 수 있도록 정해둔 규칙과 명세
어떻게 사용할지를 알려주는 설명서”
Library (라이브러리) 개발자가 자주 사용하는 기능을 모아놓은
코드 집합
직접 가져다 쓰는 도구 상자
Framework (프레임워크) 애플리케이션 개발을 위한
기본 구조와 규칙 세트
정해진 틀 안에서 만들어야 하는 뼈대

 

요약:
API는 “약속(규칙)”, 라이브러리는 “도구 모음”, 프레임워크는 “개발 틀(구조)”입니다.


2️⃣ 비유로 이해하기

개념 비유
API 침대를 주문제작할 때, 내가 원하는 사이즈를 적은 주문서 (요청 규격을 맞춰야 함)
Library 의자를 만들기 위해 망치·톱·못을 꺼내 쓰는 공구 상자 (필요한 도구만 골라 사용)
Framework 요리사가 정해진 레시피를 따라 요리하는 조리 과정 (틀을 벗어나면 안 됨)

3️⃣ 실제 예시

구분 예시
API Google Maps API, Kakao API, Twitter API, OpenWeather API
Library Lodash, Axios, NumPy, Pandas, Chart.js, BeautifulSoup
Framework React, Vue.js, Angular, Django, Spring, Flask, Laravel

 

참고: React는 공식적으로는 “라이브러리”지만, 실제로는 프레임워크처럼 사용됩니다.


4️⃣ 모듈, 패키지와의 관계

용어 설명
모듈 (Module) 특정 기능을 수행하는 코드 파일 하나 (예: math.py)
패키지 (Package) 여러 모듈을 묶은 폴더 단위 (예: numpy, pandas)
라이브러리 (Library) 관련된 패키지·모듈들의 집합
프레임워크 (Framework) 여러 라이브러리 + 규칙/구조까지 포함한 개발 뼈대

 

요약: 모듈 → 패키지 → 라이브러리 → 프레임워크 순으로 확장된 개념입니다.


5️⃣ React 개발 시 npm으로 받는 것들

  • npmNode Package Manager의 약자로, 자바스크립트 패키지 관리 도구입니다.
  • npm install react-scheduler처럼 설치하는 것들은 대부분 라이브러리 또는 패키지입니다.
  • 즉, 자주 쓰는 기능들을 묶어둔 모듈의 집합이며, 프로젝트에 필요한 기능을 쉽게 추가할 수 있습니다.

6️⃣ 한눈에 정리

개념 역할 예시
API 소프트웨어 간 상호작용 규칙 Google Maps API
Library 가져다 쓰는 기능 모음 Axios, Pandas
Framework 애플리케이션 구조 제공 Django, React
Module / Package 코드 단위 / 묶음 단위 math, numpy

결론

API → “어떻게 사용할지에 대한 약속”
라이브러리 → “필요한 기능을 꺼내 쓰는 도구 상자”
프레임워크 → “정해진 틀 안에서 동작하는 구조”

이 세 가지를 구분하면 개발 구조가 명확해지고,
어떤 도구를 언제 사용해야 하는지 훨씬 쉽게 판단할 수 있습니다.


한 문장 정리:
API는 약속, 라이브러리는 도구, 프레임워크는 구조다.

728x90