
프레임워크와 라이브러리
프레임워크와 라이브러리는 모두 소프트웨어 개발을 도와주는 도구이지만, 그 사용 방식과 제공하는 구조에 차이가 있다.
프레임워크(Framework)
전체 구조를 제공하고, 제어 흐름을 관리한다. 개발자는 프레임워크의 규칙에 따라 코드를 작성한다.
- 구조 제공:
- 프레임워크는 전체 애플리케이션의 구조를 제공하고, 개발자가 그 구조 안에 코드를 작성하는 방식이다.
- 제어 역전(Inversion of Control):
- 프레임워크는 애플리케이션의 흐름을 제어하며, 개발자는 프레임워크가 호출할 코드를 작성한다.
- 예시:
라이브러리(Library)
특정 기능을 제공하며, 개발자가 직접 호출하여 사용한다. 제어 흐름은 개발자에게 있다.
- 기능 제공:
- 라이브러리는 특정 기능을 수행하는 코드의 모음으로, 개발자가 필요할 때 호출하여 사용한다.
- 개발자 제어:
- 라이브러리는 개발자가 호출하는 방식으로, 주도권은 개발자에게 있다. 개발자가 필요한 기능을 호출하고 제어한다.
- 예시: