1. 라이브러리(Library)란?
라이브러리(Library)는 사전적으로 도서관을 의미한다.
도서관이 책을 모아두고 필요한 책을 빌려주는 곳이기에,
라이브러리는 개발자가 프로그램을 만들 때 필요한 기능을 미리 만들어둔 코드 묶음을 빌려 쓸 수 있도록 한 것이다.
즉, 개발에 필요한 기능을 ‘책처럼’ 빌려 쓰는 소프트웨어가 바로 라이브러리다.
📌라이브러리(Library)
프로그램 개발 시 자주 사용되는 기능을 재사용할 수 있도록 미리 만들어 놓은 코드의 집합으로, 개발자는 복잡한 기능을 직접 구현하지 않고, 필요한 함수를 호출하는 방식으로 쉽게 사용할 수 있다.
2. 프레임워크(Framework)란?
프레임워크(Framework)는 사전적으로 뼈대 또는 기본 구조를 의미한다.
집을 지을 때 이미 만들어진 뼈대를 이용하면 더 빠르고 효율적으로 완성할 수 있듯,
개발자도 프로그램을 제작할 때 프레임워크를 활용하면 개발 속도와 효율을 높일 수 있다.
즉, 프로그램의 ‘기본 틀을 미리 제공’하여, 개발자가 그 위에 필요한 기능을 추가해 프로그램을 완성할 수 있도록 도와주는 도구이다.
📌프레임워크(Framework)
응용 프로그램이나 소프트웨어의 개발을 수월하게 하기 위해 제공되는 소프트웨어 환경이다.
개발자는 프레임워크가 제공하는 기본 구조와 공통 기능 위에서 핵심 기능 구현에만 집중하여, 개발을 빠르고 효율적으로 할 수 있다.
3. 라이브러리와 프레임워크의 차이점은?
라이브러리와 프레임워크는 모두 개발자가 코드를 재사용하여 프로그램을 개발할 수 있도록 도와준다.
하지만, 이 둘의 가장 큰 차이점은 프로그램 흐름을 제어하는 주도권이 어디에 있는가이다.
라이브러리는 개발자가 필요할 때 직접 호출하여 사용하므로, 제어 흐름이 개발자에게 있다.
반대로 프레임워크는 정해진 틀 안에서 개발자가 규칙에 맞게 코드를 작성하는 방식으로 동작하며, 프로그램 흐름의 주도권은 프레임워크가 가진다.
💡제어 흐름 (Control Flow)
: 어떤 코드가 먼저 실행되고, 어떤 코드가 나중에 실행될지 결정하는 규칙으로, 프로그램의 실행 순서를 결정하는 흐름이다.
💡제어의 역전 (IoC, Inversion of Control)
: 개발자가 아닌 외부에서 프로그램의 흐름을 제어하는 것
🔥간단하게 표로 정리

🔗 참고한 사이트
Library vs. Framework 차이점을 확실하게 정리하기
프레임워크(Framework)와 라이브러리(Library)의 차이점
프레임워크 vs 라이브러리
728x90