Home [Spring] 프레임워크와 라이브러리의 차이
Post
Cancel

[Spring] 프레임워크와 라이브러리의 차이

프레임워크란?

프레임워크는 뼈대, 기반구조를 의미합니다.
framework 다양한 framework 종류 프로그래밍에서는 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화 된 형태로 클래스들을 제공하는 것으로, 개발자는 프레임워크의 뼈대 위에서 코드를 작성하여 프로그램을 개발할 수 있습니다.


라이브러리란?

라이브러리란 특정 기능에 대한 도구 또는 함수들의 집합을 의미합니다. 재사용이 가능한 기능을 미리 구현해놓고, 필요한 곳에서 호출하여 사용할 수 있도록 만들어진 도구들의 집합입니다.


프레임워크와 라이브러리의 차이점

프레임워크와 라이브러리는 쉽고 빠른 개발을 위해 사용한다는 공통점을 가지고 있습니다.

그러나 가장 큰 차이점은 흐름을 누가 가지고 있냐의 차이입니다.
프레임워크는 스스로 흐름을 가지고 있으며, 개발자는 그 뼈대 위에서 필요한 코드를 작성합니다.
반면 라이브러리는 개발자가 전체적인 흐름을 가지고 있으며, 자신이 원하는 기능을 구현하고 싶을 때 라이브러리를 가져와 사용합니다. relation
예를 들어, 프레임워크는 사람이 타서 운전하는 자동차, 비행기 등에 비유할 수 있으며, 라이브러리는 사람이 사용하는 톱, 망치 등의 도구에 비유할 수 있습니다.


IoC(Inversion of Control, 제어의 반전)

제어의 반전이란 어떤 일을 하도록 만들어진 프레임워크에 제어의 권한을 넘김으로써 클라이언트 코드가 신경써야 할 것을 줄이는 전략입니다.
일반적으로 라이브러리는 개발자가 작성하는 클라이언트 코드가 라이브러리의 메소드를 호출해서 사용합니다. 반면, 프레임워크에서는 프레임워크의 메소드가 개발자의 코드를 호출하며 이를 제어의 반전이라 합니다.

This post is licensed under CC BY 4.0 by the author.