EEALL@ONCE

🔦 CS 지식 쌓기 : 라이브러리 vs 프레임워크 : **주도성** 본문

분류없음지식🔦

🔦 CS 지식 쌓기 : 라이브러리 vs 프레임워크 : **주도성**

올엣원스 2023. 12. 1. 20:23
728x90

라이브러리와 프레임워크의 주요 차이점은 제어의 흐름에 대한 주도성이 어디에 있는가입니다.

  1. 라이브러리(Library):
    • 라이브러리는 독립적인 도구나 함수의 집합이며, 당신이 필요할 때마다 가져다 사용할 수 있습니다.
    • 주도성은 개발자에게 있으며, 당신이 라이브러리를 호출해서 사용합니다.
    • 예를 들어, 특정 기능을 수행하기 위해 라이브러리의 함수를 호출하고, 그 결과를 받아서 사용하는 식입니다.
  2. 프레임워크(Framework):
    • 프레임워크는 어떤 작업을 수행하기 위한 미리 정의된 구조와 규칙의 집합입니다.
    • 주도성은 프레임워크에게 있으며, 개발자는 프레임워크가 제공하는 규칙을 따라가야 합니다.
    • 예를 들어, 웹 애플리케이션을 개발할 때 프레임워크가 정의한 구조에 따라 코드를 작성하고, 프레임워크가 제공하는 기능을 사용합니다.

 

여러 언어와 분야에서 사용되는 몇 가지 유명한 라이브러리와 프레임워크를 알려드리겠습니다. 주로 사용하는 Java와 관련된 것들에 중점을 두도록 하겠습니다.

### 라이브러리(Libraries):
1. **Gson:**
   - **용도:** JSON 데이터를 객체로 변환하거나 객체를 JSON으로 변환하기 위한 라이브러리.
   - **사용 예시:**

     ```java
     Gson gson = new Gson();
     String json = gson.toJson(myObject);
     MyObject obj = gson.fromJson(json, MyObject.class);
     ```



2. **Apache Commons Lang:**
   - **용도:** 자주 사용되는 자바 언어 유틸리티 기능을 제공하는 라이브러리.
   - **사용 예시:**

     ```java
     // 문자열이 비어 있는지 확인
     boolean isEmpty = StringUtils.isEmpty(myString);
     ```




### 프레임워크(Frameworks):
1. **Spring Framework:**
   - **용도:** Java 기반의 엔터프라이즈 어플리케이션을 개발하기 위한 종합적인 프레임워크.
   - **주요 기능:**
     - Inversion of Control (IoC)
     - 의존성 주입(Dependency Injection)
     - 데이터 액세스, 트랜잭션 관리, 보안 등 다양한 모듈 제공.

2. **Hibernate:**
   - **용도:** 객체와 관계형 데이터베이스 간의 매핑을 처리하는 ORM(Object-Relational Mapping) 프레임워크.
   - **주요 기능:**
     - 자바 객체와 데이터베이스 테이블 간의 매핑
     - 데이터베이스 쿼리 생성과 관리


728x90