Open yerimstar opened 1 year ago
프레임워크와 라이브러리의 차이점은 "제어 흐름"의 권한이 어디에 있는가입니다.
라이브러리를 사용할 때 사용자는 애플리케이션 코드의 흐름을 직접 제어해야 합니다. 개발 시 필요한 기능이 있을 경우 능동적으로 라이브러리를 호출하여 사용하거나 기존에 구성된 함수나 코드를 가져다 써야 합니다.
반면 프레임워크는 애플리케이션의 코드가 프레임워크에 의해 사용됩니다. 애플리케이션 코드는 프레임워크가 짜 놓은 틀에서 수동적으로 동작하기 때문에 제어의 흐름은 프레임워크가 가지고 있고 사용자가 그 안에 필요한 코드를 작성하게 됩니다.
프레임워크 : 뼈대나 기반구조 -> 프로그래밍을 진행할 때 필수적인 코드, 알고리즘 등과 같이 어느 정도의 구조를 제공 ex) Spring(Java), Django(Python), Node.js(JavaScript)
라이브러리 : 클래스들의 나열로 필요한 클래스를 불러서 사용하는 방식
"흐름을 누가 지니고 있냐의 차이"