프레임워크와 라이브러리

Sangmin Na·2022년 4월 17일
0

CS

목록 보기
3/3

프레임워크와 라이브러리의 차이를 대략적으로만 알고 있지만 정리를 다시 하기 위하여 다루어 보려고 합니다.

📌 프레임워크 (Framework)

✔️ 소프트웨어의 특정 문제를 해결하기 위해서 상호 협력하는 클래스와 인터페이스의 집합

  • 프레임워크는 뼈대나 기반구조를 뜻하는데, 앱 개발 시 필수적인 코드, 알고리즘, 데이터베이스 연동 등과 같은 기능들을 위해 어느정도 뼈대(구조)를 제공해준다.
  • 그러므로 뼈대 위에 프로그래머가 코드를 작성하여 Applicatioln을 완성시켜야 한다.
  • 뼈대를 제공해 주기 때문에 객체 지향 개발을 하면서 일관성 부족 등의 문제를 해결해준다.

📌 라이브러리 (Library)

✔️ 단순 활용이 가능한 도구들의 집합

  • 라이브러리는 특정 기능에 대한 도구 혹은 함수들을 모은 집합이다. 즉, 프로그래머가 개발하는데 필요한 것들을 모아둔 것을 말한다.

📌 제어의 역전 (Inversion of Control)

✔️ 제어의 역전이란 어떠한 일을 하도록 만들어진 프레임워크에 제어의 권한을 넘김으로써 클라이언트 코드가 신경써야 할 것들을 줄이는 전략이다.

  • 프레임워크와 라이브러리의 차이Flow(흐름)에 대한 제어 권한이 어디에 있느냐의 차이이다.
  • 프레임워크전체적인 흐름을 자체적으로 가지고 있으며 프로그래머가 그 안에 필요한 코드를 작성한다.
  • 라이브러리사용자가 흐름에 대한 제어를 하며 필요한 상황에 가져다 쓴다.
  • 즉, 프레임워크에는 제어의 역전(IoC)이 적용되어있다.

  • 위 그림을 해석해보면, 사용자가 라이브러리를 호출하여 사용하므로 사용자가 제어의 권한을 가지고있다는 것을 의미한다.
  • 반면, 프레임워크는 사용자가 작성한 코드를 호출하므로 제어의 권한이 프레임워크에 있다는 것을 의미한다. 이를 제어의 역전이 일어났다고 말한다.

Reference

0개의 댓글