반응형
ㅍ이번 포스팅에서는 라이브러리와 프레임워크가 무엇인지 그리고 차이점에 대해 정리해보았습니다.
현재 백엔드 개발자를 지망하며 자바와 자바 스프링을 공부하고 있어 차이점을 정확히 알고 있어야 한다고 생각합니다.
라이브러리
- 특정 기능을 수행하도록 미리 작성된 코드의 집합이다.
- 개발자가 필요시 호출하여 사용한다.
- 개발자의 코드가 라이브러리를 제어 및 호출한다.
- 반복 작업 없이 필요한 기능을 빠르게 구현한다.
- 일반적으로 어플리케이션 코드에서 호출 및 실행하는 역할이다.
- ex) 수학 함수, 데이터 구조, 데이터 베이스 연결, 네트워킹, JSON 파싱 ...
프레임워크
- 어플리케이션의 흐름 제어 및 전반적인 구조를 정의한다.
- 어플리케이션의 뼈대 및 틀을 제공한다.
- 개발자는 뼈대와 틀 안에 필요한 코드를 작성한다.
- 제어의 역전 원칙을 따른다.
제어의 역전 원칙
- 프레임워크가 어플리케이션 흐름을 제어하며 개발자의 코드를 적절한 시점에 호출한다.
웹 프레임워크를 예로 들면,
웹 프레임워크가 HTTP 요청을 처리하고 응답을 생성하는 전체 흐름을 제어한다.
개발자는 이 흐름 중에 특정 시점에 실행될 비즈니스 로직을 작성한다.
공통점
- 라이브러리와 프레임워크 모두 재사용이 가능하다.
차이점
- 가장 큰 차이점은 제어권을 누가 가지고 있는지의 차이이다.
라이브러리
개발자의 코드에 의해 제어되며 필요시 라이브러리가 호출된다.
주 - 개발자 코드 종- 라이브러리
프레임워크
어플리케이션의 전체 흐름을 프레임워크가 제어하며 필요시 개발자 코드가 호출된다.
주 - 프레임워크 종 - 개발자 코드
반응형
'CS' 카테고리의 다른 글
프론트엔드 (Front-End) / 백엔드 (Back-End) (0) | 2023.07.23 |
---|---|
API (0) | 2023.07.20 |