Framework(프레임워크)
프레임워크는 뼈대나 기반구조를 뜻하고, 제어의 역전 개념이 적용된 대표적인 기술
소프트웨어에서의 프레임워크는 '소프트웨어의 특정 문제를 해결하기 위해서 상호 협력하는 클래스와 인터페이스의 집합 이라 할 수 있으며, 완성된 어플리케이션이 아닌 프로그래머가 완성시키는 작업을 해야함
객체 지향 개발을 하게 되면서 통합성, 일관성의 부족이 발생되는 문제를 해결할 방법
프레임워크의 특징
- 특정 개념들의 추상화를 제공하는 여러 클래스나 컴포넌트로 구성됨
- 추상적인 개념들이 문제를 해결하기 위해 같이 작업하는 방법을 정의함
- 컴포넌트들은 재사용이 가능함
- 높은 수준에서 패턴들을 조작화 가능
라이브러리(Library)
라이브러리는 단순 활용가능한 도구들의 집합
개발자가 만든 클래스에서 호출하여 사용, 클래스들의 나열로 필요한 클래스를 불러서 사용하는 방식을 취함
프레임워크와 라이브러리의 차이점
라이브러리와 프레임워크의 차이는 제어 흐름에 대한 주도성이 누구에게/어디에 있는가
프레임워크 : 제어의 역전(IoC : Inversion of Control) 개념이 적용
프레임워크에게 제어의 흐름을 넘겨 개발자가 작성하는 코드에서 신경 써야 할 부분을 줄임
라이브러리 : 라이브러리를 가져다가 사용하고 호출하는 측에 전적으로 주도성이 있음
비유로 들어주신 운송수단 : 프레임워크, 도구 : 라이브러리가 좋앗는데
프레임워크는 프레임워크 제공하는 흐름 (차면 도로, 배면 물)을 따라 이동해야하지만, 도구는 정해진 용도 외에도 일정 부분 활용 가능하다.(내가 어떻게 쓸지 결정)
참고블로그 :
https://webclub.tistory.com/458
프레임워크와 라이브러리의 차이점
Framework Vs Library 프레임워크와 라이브러리의 정확한 차이점은 무엇일까요? 대중 알것 같지만 정확히 어떠한 차이점이 있는지 모르고 있는 경우가 많을지도 모릅니다. 프레임워크는 단지 미리 만
webclub.tistory.com
'TIL > 면접 준비 TIL' 카테고리의 다른 글
HTTP에 대해 설명하고, 알고있다면 HTTP 메세지 구조에 대해 더 자세히 설명해주세요 (0) | 2023.03.30 |
---|---|
캐시의 장단점과 프론트엔드에서 캐시를 사용할 수 있는 영역 (0) | 2023.03.29 |
parameter와 argument의 차이 (0) | 2023.03.28 |
Hoisting 이란? TDZ란? (0) | 2023.03.28 |
Restful API에 대해 설명 (0) | 2023.03.27 |