라이브러리 vs 프레임워크

이하은·2022년 4월 11일
0

KotlinStudy

목록 보기
3/3

프레임워크

뼈대, 기반구조를 뜻한다
프로그래밍을 진행할 때 필수적인 코드, 알고리즘 등과 같이 어느 정도의 구조를 제공
완성된 제품이 아닌 완성된 제품을 만들기 위해서 개발자를 도와주는 또는 기반이 되는 역할

프레임워크의 뼈대 위에서 코드를 작성하여 프로그램을 개발
특정 문제를 해결하기 위해 상호 협력하는 클래스와 인터페이스의 집합

프레임워크 예시)

Java 개발자 라면 Spring
Python 개발자라면 Django
Javascript 개발자라면 Node.js
PHP 개발자라면 Laravel

프레임워크 특징

  • 특정 개념들의 추상화를 제공하는 여러 클래스나 컴포넌트로 구성되어 있다.
  • 추상적인 개념들이 문제를 해결하기 위해 같이 작업하는 방법을 정의한다
  • 컴포넌트들은 재사용이 가능하다
  • 높은 수준에서 패턴들을 조작화 할 수 있다

라이브러리

라이브러리는 단순 활용가능한 도구들의 집합
프로그래머가 어떠한 기능을 수행하기 위해서 도움을 주는 또는 필요한 것을 제공해주는 역할
즉, 개발자가 만든 클래스에서 호출하여 사용, 클래스들의 나열로 필요한 클래스를 불러서 사용하는 방식

라이브러리 예시)

가장 유명한 자바스크립트 라이브러리는 jQuery.
GUI에서 재사용하기 쉽게 버튼, 테이블 같은 구성요소를 호출해서 쓸 수 있도록 분리해두었다면 라이브러리
Windows에서 간혹 보았을 dll 확장자는 동적 링크 라이브러리(dynamic-link library)의 약자로 라이브러리라고 할 수 있음
객체지향 프로그래밍은 기본적으로 각 기능마다 함수화하는 것으로 클래스 라이브러리 라고 할 수 있다.

프레임워크 vs 라이브러리

프레임워크는 전체적인 흐름을 자체적으로 가지고 있어, 프로그래머가 그 안에서 필요한 코드를 작성하지만,
라이브러리는 프로그래머가 전체적인 흐름을 가지고, 자신이 원하는 기능을 구현하고 싶을 때 가져다 사용

라이브러리와 달리, 프레임워크는 이미 프로그래밍할 규칙이 정해져 있다.
예를 들어, 설정 파일로 사용되는 XML에 어떤 태그를 써야 하며, 어떤 함수를 추가적으로 작성해야 하고, 소스 파일을 어느 위치에 넣어야 하며, DB와 연동하기 위해 무엇을 써 넣어야 하는지 정해져 있다.
보통 이런 대부분의 작업은 프레임워크가 하고자 하는 일에 비하면 아주 작은 일이며, 사람은 극히 일부분만 조정함으로써 목적을 달성한다

출처: Dev Scroll 프레임워크 라이브러리 정리
https://inpa.tistory.com/entry/%F0%9F%91%A9%E2%80%8D%F0%9F%92%BB-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC-%EC%B0%A8%EC%9D%B4-%EC%A0%95%EB%A6%AC?category=890836

profile
이하은

0개의 댓글