📝

프레임워크와 라이브러리

본격적으로 개발을 하게 될 때 아무것도 없이 시작하기란 막막할 겁니다. 그래서 프레임워크가 필요합니다. 프레임워크는 Framework(프레임워크)라고 하는데요. 말 그대로 Frame 즉, 틀을 주는 소프트웨어라고 생각하시면 됩니다.
예를 들어 여러분이 제빵에 처음 도전해보려고 합니다. 하지만 초보자라 어떤 재료와 도구들이 필요할지 감이 잘 잡히지 않겠죠? 그럴 때 제빵 키트를 사면 손쉽게 시작할 수 있을 겁니다. 프레임워크는 이 키트에 해당합니다. 언어의 종류가 다양한 만큼 프레임워크의 종류도 다양합니다. 대표적으로 Python의 웹 프레임워크로 Django가 있고 Java의 프레임워크로는 Spring이 있습니다.
프레임워크가 틀을 잡아주는 거라면 library(라이브러리)란 무엇일까요? 아까 예로 돌아가자면 제빵에 필요한 도구들이 있겠죠? 라이브러리는 이 도구에 해당합니다. 내가 어떤 도구들이 필요할 때마다 직접 만들지 않고 이미 만들어진 걸 가져다가 사용할 겁니다. 개발을 할 때도 마찬가지입니다. 필요한 모든 것을 전부 만들 수는 없기에 이미 만들어둔 것들을 호출해서 사용하게 됩니다.
그렇다면 프레임워크와 라이브러리 차이는 뭘까요? 프레임워크는 일종의 키트이기 때문에 그 목적에 맞게 사용해야 합니다. 예를 들어 쿠키 키트는 쿠키를 만들기 위한 키트이기 때문에 그걸로 빵을 만들기란 어렵습니다. 하지만 라이브러리는 일종의 도구이기 때문에 그 도구로 빵을 만들 수도, 쿠키를 만들 수도 있습니다. 하지만 라이브러리와 프레임워크 모두 개발을 하는 데 도움을 준다는 공통점이 있습니다.
notion imagenotion image