프레임워크 vs 라이브러리

서이·2023년 4월 13일
0

개념정리

목록 보기
1/9

FrameWork(프레임워크)

프레임워크는 뼈대나 기반구조를 뜻하고, 제어의 역전 개념이 적용된 대표적인 기술이다.

Library(라이브러리)

라이브러리는 단순 활용가능한 도구들의 집합을 말한다.
즉, 개발자가 만든 클래스에서 호출하여 사용, 클래스들의 나열로 필요한 클래스를 불러서 사용하는 방식을 취하고 있다.


프레임워크와 라이브러리의 차이점은 "제어 흐름"의 권한이 어디에 있는가

 라이브러리를 사용할 때 사용자는 애플리케이션 코드의 흐름을 직접 제어 해야한다. 개발 시 필요한 기능이 있을 경우 능동적으로 라이브러리를 호출하여 사용하거나 기존에 구성된 함수나 코드를 가져다 써야한다.

 반면 프레임워크는 애플리케이션의 코드가 프레임워크에 의해 사용된다.
애플리케이션 코드는 프레임워크가 짜 놓은 틀에서 수동적으로 동작하기 때문에 제어의 흐름은 프레임워크가 가지고 있고 사용자가 그 안에 필요한 코드를 작성하게 된다.

 여기서 제어의 역전(IoC, Inversion of Control)이란,
어떠한 일을 하도록 만들어진 Framework에 Control 권한을 위임하는 것을 의미하는데,

 간단히 말해 프로그램의 제어 흐름 구조가 뒤바뀐 것을 뜻한다.

 라이브러리의 경우 애플리케이션의 흐름을 사용자가 직접 제어해야 하지만 프레임워크의 경우 코드를 연결할 수 있는 위치를 제공하고 필요에 따라 사용자가 연결한 코드를 호출하는 제어 흐름 권한을 가지고 있다.


결론적으로 말하면

가장 큰 차이점은 "코드 흐름의 제어권"이 누구에게 있느냐

  1. 라이브러리

: 라이브러리의 객체나 함수를 개발자가 직접 호출하여 사용한다.

  1. 프레임워크

: 개발자가 구현한 메서드가 프레임워크에 의해 호출된다.

profile
작성자 개인이 잊을 때마다 보라고 정리한 글

0개의 댓글