본문 바로가기
오래된 글

프레임워크와 라이브러리의 차이는 무엇일까? | The difference between framework and library

by pagehit 2019. 3. 10.
반응형

프레임워크랑 무엇인가?



프레임워크(Framework) 혹은 소프트웨어 프레임워크(Software framework)는 일반적인 기능을 제공하는 소프트웨어이다. 추가적으로 사용자가 작성하는 코드에 의해 선택적으로 바뀔 수 있는 소프트웨어이다.

응용들을 빌드하고 적용하는데 표준적인 방법을 제공한다.

소프트웨어 프레임워크는 범용성이 크고, 재사용성이 좋은 소프트웨어 환경이다. 이 환경에서 특정한 기능을 더 큰 소프트웨어 플랫폼의 한 부분으로 제공하여 소프트웨어 응용, 상품, 솔루션읠 개발을 용이하게 한다.

소프트웨어 프레임워크는 다음 것들을 포함할 수도 있다. 지원 프로그램, 컴파일러, 코드 라이브러리, 툴 셋, 응용 프로그램 인터페이스 등을 포함한다. 



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



프레임워크가 라이브러리랑은 구분되는 몇 가지 특징이 있다.

제어의 역전(inversion of control), 확장성(extensibility), 수정할 수 없는 프레임워크 코드(non-modifiable framework code) 세 가지 특징이 있다.



라이브러리와는 달리, 프레임워크에서는 전체적인 프로그램의 제어의 흐름(flow of control)을 호출자(caller)가 지배하지 않고, 프레임워크가 제어의 흐름을 지배한다.


오버라이딩을 통해 선택적으로 프레임워크를 확장할 수도 있고, 특별한 코드를 추가해서 특정 기능을 제공할 수 있다.


일반적으로 프레임워크 코드는 수정할 수 없지만, 사용자가 실행하는 확장을 받아들인다. 다시 말해, 사용자는 프레임워크를 확장할 수 있지만 코드를 수정할 수는 없다.




반응형

댓글