CS

프레임워크(Framework)와 라이브러리(Library)의 차이점

Seong-Jun 2025. 4. 19. 18:12
728x90
반응형
SMALL

개발자가 SW를 개발함에 있어 코드를 구현하는 개발 시간을 줄이고 코드의 재사용성을 증가시키기 위한 일련의 클래스 묶음이나 뼈대, 틀을 제공하는 라이브러리를 구현해 놓은 것이다.

 

특징

  1. 개발자가 따라야 하는 가이드 제공
  2. 개발할 수 있는 범위가 정해져 있음
  3. 개발자를 위한 다양한 도구 및 플러그인 지원

장단점

장점 - 개발 시간을 줄일 수 있다.
- 정형화되어 있어 일정 수준 이상의 품질을 기대할 수 있다.
- 유지보수가 쉽다.
단점 지나친 의존 시 개발자들의 떨어져 스스로 개발하는 것이 어려워진다.
- 습득 시간이 오래 걸린다.

 

라이브러리

 라이브러리의 사전적 뜻은 도서관이다. 도서관이 책들의 집합이듯 프로그래밍에서 라이브러리는 SW 개발에서 특정 기능을 수행하도록 미리 구현된 코드나 함수, 클래스의 모음이다.

특징

  1. 혼자서 동작되는 완전한 프로그램이 아니다.
  2. 프로젝트에 라이브러리를 등록하면 개발자의 목적에 맞게 필요 부분만 호출하여 사용할 수 있다.

장단점

장점 - 중복 코드를 줄여 개발 시간을 줄일 수 있다.
- 프로그램 전체에 영향을 미치지 않고 필요 기능만 활용할 수 있다.
- 다양한 라이브러리를 선택하여 프로젝트에 필요한 기능들을 조합하여 사용할 수 있다.
단점 - 정적 라이브러리일 경우 애플리케이션의 크기를 늘려 메모리 사용 효율을 떨어뜨릴 수 있다.
- 애플리케이션의 흐름을 개발자가 직접 제어해야 한다.
- 라이브러리의 사용법을 익히는 데 다소 시간이 걸릴 수 있다.

 

프레임워크와 라이브러리의 차이점

애플리케이션의 흐름 제어를 누가 하느냐?

프레임워크는 개발자가 프레임워크의 틀을 따라야한다. 프레임워크에서 정의된 규칙에 따라 코드를 작성해야 한다. 반면 라이브러리는 개발자가 직접 흐름을 제어하고 필요에 따라 라이브러리를 호출하여 사용한다. 라이브러리는 도구이고 프레임워크는 뼈대이다.

728x90
반응형
LIST

'CS' 카테고리의 다른 글

REST API 정리  (0) 2025.04.19
Spring의 특징 - DI, IoC, POJO, AOP  (1) 2025.04.19
Web server 와 WAS 의 차이점  (0) 2025.03.22