programming을 배우는 Summer/etc

Framework / Library 차이

PSummer._. 2023. 2. 3. 06:22

Library

개발자가 코드를 작성하기 위해서 마음대로 호출할 수 있는 기능들의 집합이다.

 

Framework

응용프로그램이 개발자에게 공간을 채우도록 요청해서 작업 내용을 정의하는 구조다.

 

라이브러리, 프레임워크 둘 다 개발자의 업무 효율과 생산성을 위해서 가져다 쓴다.

 

둘의 차이점은 "제어 흐름"을 누가 가지고 있냐에 따라서 다르다.

라이브러리는 개발자가 전체적인 제어흐름을 가지고 있다. 그래서 필요한 기능이 있을 경우, 라이브러리를 호출해서 사용하면 된다.

즉, 라이브러리를 사용할지 안할지는 개발자가 선택할 수 있다는 뜻이다. 또한, 라이브러리를 만들 때도 규칙이 따로 존재하지 않아서 의도에 맞게 선택해서 사용하면 된다.

 

반면, 프레임워크는 프레임워크가 자체적으로 전체적인 제어 흐름을 가지고 있어서 개발자는 프레임워크가 정해놓은 규칙에 따라서 코드를 작성해야 한다.

 

비유를 하자면, 라이브러리는 우리가 직접 집을 짓는다고 생각하면 된다. 우리가 원하는 구조를 선택해서 원하는 방식대로 집을 지을 수 잇다. 반면, 프레임워크는 새 집을 산다고 생각하면 된다. 집의 기반구조나 뼈대를 변경할 수 없다.

Library / Framework 제어흐름