개요
프레임워크(Framework)와 라이브러리(Library) 특징 및 차이점 알아보기 |
내용
프레임워크(Framework)
- 프레임워크는 어떠한 목적을 달성하기 위해 복잡하게 얽혀있는 문제를 해결하기 위한 구조
- 소프트웨어 개발에 있어 하나의 뼈대 역할
장점
- 빠른 구현 및 획일화
- 확장성이 좋으며 높은 완성도
- 체계적인 코드 관리로 안정적인 유지보수 가능
- 검증된 아키텍처의 재사용과 일관성 유지
단점
- 프레임워크 사용법을 위한 학습시간 필요
- 프로젝트 용량 증가
라이브러리(Library)
- 소프트웨어 개발 시 사용되는 프로그램의 구성요소로, 공통으로 사용될 수 있는 특정한 기능(들)을 모듈화한 것
프레임워크 vs 라이브러리
- 라이브러리와 프레임워크를 헷갈리는 경우도 있는데, 보통 프레임워크라고 하면 여러 기능을 가진 클래스와 라이브러리가 '특정 결과물을 구현하고자' 합쳐진 형태라고 볼 수 있다. 즉 라이브러리보다 상위의 그룹이며, 대부분의 프레임워크들은 다양한 기능들을 지원하기 위해 많은 라이브러리들을 가지고 있다.
메소드 및 클래스화, 즉 모듈화를 하는 이유 중 하나가 재사용성인데, 프레임워크는 이 재사용성을 큰 그룹 단위로 묶어주었다고 보면 된다. 재사용 가능한 수많은 클래스들과 라이브러리들을 융합한 채로 처음부터 제공해 주기 때문에, 여러 개의 표준을 만들지 않아도 돼서 개발자의 피곤함을 덜어준다.
예를 들어, 웹 프레임워크는 '웹 서버'를 구현하기 위한 목적으로 만들어진 프레임워크다. 웹 서버를 구현하기 위해선 페이지 구현, DB 관리, 유저 인증, API 서버, 라우팅, 사이트맵, 세션 관리 등 여러 기능이 들어있어야할 것이다. 각 기능을 보유한 라이브러리들을 한데 묶어 담은 것이 바로 프레임워크라고 보면 된다.
'개발메모 > 간단정리' 카테고리의 다른 글
[간단정리] Git 이란 (0) | 2022.06.16 |
---|---|
[간단정리] 프로세스, 스레드 특징 및 차이점 (0) | 2022.06.16 |
[간단정리] Git, SVN 특징 및 차이점 (0) | 2022.06.12 |
[간단정리] String, StringBuilder, StringBuffer 특징 및 차이 (0) | 2022.06.06 |
[간단정리] List, Set, Map 특징 및 차이점(+ 구현체 ) (1) | 2022.05.23 |