학교 공부

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

연듀 2021. 9. 13. 21:38

 

 

 

라이브러리와 프레임워크의 차이점은 코드 제어권이 개발자에게 있는지, 아닌지이다.

 

 

 

라이브러리

 

 

소프트웨어를 개발하기 쉽게 기능을 제공하는 도구들이다.

클래스의 집합으로서 코드의 재사용성을 지원한다. (ex: math)

제어의 주체는 개발자로, 코드에서 필요할때마다 라이브러리(객체, 함수)를 직접 호출한다.

현실에서의 도서관에서 책을 필요할때마다 꺼내보는 것과 같다.

어플리케이션에서 하나의 기능이라고 볼 수 있다.

 

 

 

 

프레임워크

 

특정 프로그램을 개발하기 위한 여러 요소들과 메뉴얼인 룰을 제공하는 프로그램이다.

제어의 주체는 프레임워크이다.

프레임워크에서 개발자의 코드를 호출한다.(제어의 역전: Inversion of Control)

프레임워크에서 기본적인 골격을 잡아놓았기 때문에 개발자가 제어의 흐름에 맞게 코드를 작성해 두면 프레임워크에서 호출한다.

어플리케이션의 뼈대라고 볼 수 있다.

프레임워크가 라이브러리를 포함할 수도 있다.

구조 품질을 보장한다.(SW 구조와 기반되는 클래스를 제공)

애플리케이션 구조 및 코드의 상당 부분을 제공한다.(반제품)

개발자는 애플리케이션의 핵심 로직에 집중 가능하다. 예를 들어 프레임워크를 연예 기획사라고 비유한다면 기획사가 모든걸 지원해주고 배우는 연기에만 집중하면 되는 것과 같다.

생산성이 매우 높고 코드 품질을 보장한다.