[CS] Framework vs Library

Jenna·2023년 3월 20일
0

CS

목록 보기
1/2
post-thumbnail

CS 면접의 단골 소재이다.
프레임워크랑 라이브러리의 차이가 뭐냐고 물어보면 느낌으로는 대강 알지만 정확한 대답을 못하는 사람들이 많을 것 같다,, 나 포함 🥲
그래서 이번 기회에 정리해보겠습니다~!

Framework

말 그대로 frame이 짜여져 있는 틀이라고 생각하면 쉽다. 헷갈릴 수 있을 때는 단어의 의미를 생각해보자.
어플리케이션 개발을 위해 이미 짜여져 있는 구조를 말하며 주로 골격, 뼈대에 비유하기도 한다.
만들어져 있는 코드를 내 코드를 사용해 채워넣는 느낌이다.
특정 프로그램을 개발하기 위한 여러 요소들과 매뉴얼인 룰을 제공해주면 거기에 맞춰서 구현하면 됨.

✅ Examples

  • Spring
  • Django
  • Ruby on Rails
  • Angular, Vue.js ... etc

Ruby on Rails로 예시를 들어보겠다.
레일즈에는 기본적으로 미리 프로그램의 구조를 잡아둔다.

rails new blog 명령어로 rails 프로젝트를 생성하면

왼쪽에 보이는 것과 같이 프로젝트의 기본 구조가 나와있다. 이런 뼈대(틀) 에서 내 코드를 사용해 채워넣는 것이 프레임워크다.

특정 개념들의 추상화를 제공하는 여러 클래스나 컴포넌트로 구성되어있으며, 컴포넌트들은 재사용이 가능하다.


Library

라이브러리는 개발에 활용가능한 도구 (특정 기능의 코드, 함수) 들을 미리 구현해 놓은 것의 집합이다. classfunction 으로 만들어져, 필요할 때 호출하여 코드에 적용할 수 있다.

✅ Examples

  • jQuery
  • Chart.js
  • npm 모듈
  • pip 패키지/모듈
  • jar

라이브러리는 엄청 많다.. 개인 깃허브에서 개인이 만든 기능을 호출할 수 있다면 그것도 라이브러리에 해당함.


결론

따라서 라이브러리와 프레임워크의 차이점은 다음과 같다.
이미 구조가 짜여져 있는 코드 안에서 내 코드를 채워넣는 형식이 프레임워크라면 내가 구조를 짜고 그 안에서 필요한 특정 기능의 클래스와 함수를 호출할 때 사용하는 것은 라이브러리라고 할 수 있다.

profile
FE/Game Dev.

0개의 댓글