라이브러리와 프레임워크의 차이 ★★★
by yjym33라이브러리 (Library)
라이브러리는 재사용 가능한 코드의 모음으로, 특정 기능 또는 작업을 수행하기 위해 필요한 함수, 클래스, 모듈 등을 포함합니다.
개발자는 필요한 라이브러리를 선택하여 프로젝트에 직접 통합하고 사용할 수 있습니다.
라이브러리는 개발자가 제어 흐름을 가지며, 필요할 때 호출하거나 사용합니다.
라이브러리는 주로 도구 상자로 생각할 수 있으며, 필요한 도구를 꺼내서 사용하는 것과 유사합니다.
EX)
NumPy: 과학 계산과 데이터 분석을 위한 Python 라이브러리로, 배열과 행렬 연산을 지원합니다.
jQuery: JavaScript 라이브러리로, HTML 문서의 조작과 이벤트 처리를 단순화합니다.
Retrofit: Android 앱 개발을 위한 HTTP 통신 라이브러리로, REST API 호출을 간편하게 처리합니다.
프레임워크 (Framework)
프레임워크는 애플리케이션 또는 시스템의 구조와 흐름을 제어하기 위한 기본 구조와 규칙을 제공하는 데 초점을 둡니다.
개발자는 프레임워크가 정의한 규칙과 구조를 따라 개발하며, 프레임워크는 개발자가 작성한 코드를 호출하고 관리합니다.
프레임워크는 개발자에게 제어의 역전(Inversion of Control)을 제공하며, 애플리케이션의 스켈레톤 코드(뼈대) 를 포함하고 있습니다.
프레임워크는 개발자에게 필요한 틀을 제공하고, 개발자는 그 안에서 필요한 코드를 작성합니다.
EX)
Ruby on Rails: 웹 애플리케이션 개발을 위한 프레임워크로, MVC 아키텍처와 라우팅을 포함한 구조를 제공합니다.
Spring Framework: Java 기반 엔터프라이즈 애플리케이션을 개발하기 위한 프레임워크로, 의존성 주입(Dependency Injection)과 관점 지향 프로그래밍(Aspect-Oriented Programming)을 지원합니다.
Angular: 웹 애플리케이션 개발을 위한 프레임워크로, 컴포넌트 기반 아키텍처와 양방향 데이터 바인딩을 제공합니다.
라이브러리 vs. 프레임워크의 차이점
1. 제어 흐름:
라이브러리: 개발자가 제어 흐름을 가지며 필요할 때 라이브러리를 호출합니다.
프레임워크: 프레임워크가 제어 흐름을 가지며, 개발자는 프레임워크에서 정의한 규칙을 따라야 합니다.
2. 주도성:
라이브러리: 개발자가 주도성을 가지며, 필요한 기능을 선택적으로 사용합니다.
프레임워크: 프레임워크가 주도성을 가지며, 개발자는 프레임워크의 규칙에 따라 코드를 작성합니다.
3. 역할:
라이브러리: 개발자가 자신의 코드에 라이브러리를 통합하여 사용합니다.
프레임워크: 개발자가 프레임워크의 기반 위에서 코드를 작성하며, 프레임워크가 개발자의 코드를 호출합니다.
'Development > CS' 카테고리의 다른 글
팩토리 패턴 ★★★ (0) | 2023.09.25 |
---|---|
싱글톤 패턴 ★★★ (0) | 2023.09.24 |
디자인 패턴 ★★★ (0) | 2023.09.24 |
추상화란? ★★★ (0) | 2023.09.23 |
오버로딩 (Overloading) 과 오버라이딩 (Overriding) ★★★ (0) | 2023.09.23 |
블로그의 정보
생각보다 실천을
yjym33