본문 바로가기
WEB/web 지식

Framework vs Library

by 일상코더 2023. 2. 10.

  프레임워크(Framework)란?

     - 프레임워크는 뻐대나 기반구조를 뜻하고, 제어의 역전 개념이 적용된 대표적인 기술이다.

     - 소프트웨어의 특정 문제를 해결하기 위해서 상호 협력하는 클래스와 인터페이스의 집합

     - 완성된 어플리케이션이 아닌 프로그래머가 완성시키는 작업

     - 가져다가 사용한다기 보다는 거기에 들어가서 사용한다는 느낌/관점으로 접근

     - 객체 지향 개발을 하게 되면서 통합성, 일관성의 부족이 발생되는 문제를 해결할 방법중 하나

 

 

프레임워크의 특징

     - 특정 개념들의 추상화를 제공하는 여러 클래스나 컴포넌트로 구성되어 있다.

     - 추상적인 개념들이 문제를 해결하기 위해 같이 작업하는 방법을 정의한다.

     - 컴포넌트들은 재사용이 가능하다.

     - 높은 수준에서 패턴들을 조작화 할 수 있다.

 

라이브러리(Library)란?

     - 라이브러리는 단순 활용가능한 도구들의 집합

     - 개발자가 만들 클래스에서 호출하여 사용, 클래스들의 나열로 필요한 클래스를 불러서 사용하는 방식

 

 

 

프레임워크와 라이브러리의 차이점

 

   

 

     - 라이브러리와 프레임워크의 차이는 제어 흐름에 대한 주도성이 누구에게/어디에 있는가에 있다.

     - 즉, 어플리케이션의 Flow(흐름)를 누가 쥐고 있느냐에 달려있다.

     - 프레임워크는 전체적인 흐름을 스스로가 쥐고 있으며 사용자는 그안에서 필요한 코드를 짜 넣는다.

     - 라이브러리는 사용자가 전체적인 흐름을 만들며 라이브러리를 가져다 쓰는것이다.

       

      => 다시 말하면, 라이브러리는 라이브러리를 가져다가 사용하고 호출하는 측에 전적으로 주도성이 있고 프레임워크는 그 틀안에 이미 제어 흐름에 대한 주도성이 내재(내포)하고 있다.

      => 프레임워크에는 분명한 제어의 역전 개념이 적용되어 있어야 한다.

 

 

 

 

 

'WEB > web 지식' 카테고리의 다른 글

동기와 비동기 개념과 차이  (0) 2023.02.28
Spring security 정리  (0) 2022.11.28
OAuth2 카카오 로그인  (0) 2022.11.28
kafka 기본  (0) 2022.10.30
CORS 이슈 해결  (0) 2022.10.25

댓글