라이브러리

라이브러리는 스스로 무언가를 하지 못합니다.

즉 사용자가 라이브러리를 호출 할 때 비로소 자신의 코드가 실행됩니다.

라이브러리는 일종의 함수 모음 집이라 생각하면 됩니다.


ex) JQuery, JRE( java 표준 라이브러리 ), JSTL( JSP 표준 태그 라이브러리 ) , sequelize( node.js ORM ) ...





프레임워크

프레임워크가 객체의 라이플 사이클을 모두 관리하며, 그 흐름 속에서 개발자의 코드가 추가되어 구현되는 것으로서 사용자 코드를 지배합니다.

이렇게 프로그램의 실행 주체가 반전되는 것을 제어 반전 이라고 하는데 이것이 프레임워크의 본질입니다.

ex) Spring( 자바 ), Ruby on Rails( 루비 ), Lalavel( PHP), Django( 파이썬 ) ....