정의
라이브러리는 “프로젝트의 전체 흐름”을 결정하지 않습니다.
대신 특정 문제를 해결하는 함수/클래스/모듈을 제공하고, 개발자는 애플리케이션 코드에서 원하는 시점에 라이브러리를 호출해 사용합니다.
“라이브러리는 내가 필요할 때 호출하고,
전체 흐름은 내 코드가 소유한다.”
핵심 개념
예를 들어 날짜/시간 처리, HTTP 통신, JSON 직렬화, 암호화, 로그 수집처럼 “특정 문제”를 해결하는 도구가 라이브러리로 제공됩니다. 필요한 도구를 골라 내 코드의 흐름 안에서 호출해 쓰는 방식입니다.
프레임워크와 차이
장점
- ✔️ 필요한 기능만 선택해서 도입(과도한 구조 강제 없음)
- ✔️ 교체/확장이 비교적 쉬움(의존성 관리만 잘하면)
- ✔️ 작은 프로젝트/유틸성 기능에서 특히 효율적
주의점
라이브러리는 가볍고 유연하지만, 프로젝트 전체 흐름을 통합해주지 않습니다. 그래서 팀 내에서 “에러 처리 방식/로깅/예외 규칙/유효성 검증”이 제각각이면 유지보수 비용이 올라갑니다.
💡 TIP / 참고사항
라이브러리가 많아질수록 “의존성 충돌/버전 관리/보안 패치”가 중요해집니다. 결국 라이브러리 선택은 기능보다 유지보수가 핵심입니다.
선정 기준
- ✔️ 유지보수/업데이트가 꾸준한가(릴리즈/이슈 대응)
- ✔️ 문서/예제가 충분한가(사용법·엣지케이스)
- ✔️ API가 안정적인가(파괴적 변경 빈도)
- ✔️ 보안/라이선스/트랜지티브 의존성 위험이 관리되는가
핵심 요약
✅ 핵심 요약
- ✔️ 라이브러리는 필요한 기능을 내가 호출해서 쓰는 재사용 코드 묶음이다.
- ✔️ 프레임워크와의 핵심 차이는 흐름 소유권: 라이브러리는 내가, 프레임워크는 프레임워크가 흐름을 가진다.
- ✔️ 실무에선 기능보다 유지보수/문서/안정성/보안/라이선스를 기준으로 선택해야 한다.