프레임워크와 라이브러리

강승구·2023년 2월 8일
0

공통점

  • 재사용 가능한 코드의 모음
  • 프로그래밍을 쉽게 할 수 있도록 도와주는 역할

차이점

프레임워크 (Framework)

  • 프레임워크는 정해진 매뉴얼, 룰을 제공한다. 개발 시 필수적인 코드와 알고리즘 같은 기능을 제공하는데 이 룰을 지켜야 한다.
  • 클래스와 라이브러리가 합쳐진 구조이며, 이러한 협업 형태를 제공하는 것이다.
    예를 들어, 콜백 함수의 정의는 개발자가 하지만 정해진 알고리즘에 따라 그 콜백 함수를 실행하는 건 프레임워크이다.
  • 개인이 라이브러리로 이러한 규칙을 구축하는 데에는 시간과 돈이 필요하므로 이미 구축되어 있는 프레임워크를 사용하여 제작에만 집중하는 것이다.
  • Java 개발에서 사용되는 Spring 프레임워크나 Python 개발에 사용되는 Django, 안드로이드 앱개발에 사용되는 Android 등이 있다.

라이브러리 (Library)

  • 라이브러리는 개발에 필요한 것들을 미리 구현해놓은 도구라고 할 수 있다. 재사용이 가능한 기능을 미리 구현해놓고 필요한 곳에서 호출하여 사용 가능하도록 만들어진 집합이다.
  • 라이브러리를 사용하더라도 프레임워크가 정한 방식에 따라야 하지만 어떻게 사용할 지는 개발자가 정할 수 있다.
  • C++의 STL 이나 Python의 Pip로 설치한 패키지/모듈(pandas, tensorflow 등)이 있다.
profile
강승구

0개의 댓글