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

sith-call.dev·2022년 9월 19일
0

Computer Science

목록 보기
11/15

프로그램의 구조

프로그램은 하나의 소스 코드로만 이뤄지지 않는다. 여러 개의 소스 코드가 종합적으로 구성되어 이뤄진다. 이러한 구조를 기반으로 프레임워크와 라이브러리 간의 차이를 이해할 필요가 있다.

라이브러리

라이브러리는 프로그램을 구성할 때 자주 사용하는 소스 코드들을 재사용하기 위해 묶어놓은 소스 코드들의 집합이다. 그래서 중요한 점은 개발자가 작성한 코드에서 라이브러리는 호출되는 대상이 된다. 즉, 컴퓨터가 메모리에 사용자의 프로그램을 적재시키고 실행시키면, 사용자의 프로그램 소스 코드에서 라이브러리 소스 코드를 호출하는 명령이 실행된다. 그리고 그 소스 코드가 호출되면서 최종적으로 라이브러리 소스 코드가 여러군데서 재사용이 가능해진다.

프레임워크

프레임워크와 라이브러리 간의 가장 큰 차이점은 제어의 역전(Inversion of Control)이다. 프레임워크는 하나의 어플리케이션이다. 그리고 개발자는 이 어플리케이션이 실행할 코드를 작성한다. 즉, 프로그램의 큰 틀은 프레임워크에 이미 작성되어 있고, 이 프로그램의 핵심 논리만 개발자가 작성하는 형식이다. 따라서 컴퓨터는 프레임워크를 메모리에 적재시키고 실행한다. 그리고 프레임워크 내부에서 사용자의 코드를 호출하여 사용하기 때문에 제어에 대한 권한이 라이브러리와 달리 개발자에서 프레임워크로 넘어가게 된다. 이 때문에 제어의 역전이란 말을 사용한다. 또한 사용자가 작성한 코드에서는 다시 라이브러리 코드를 호출할 수도 있다.

profile
Try again, Fail again, Fail better

0개의 댓글