Library & Framework

ys0820.kim·2022년 9월 21일
0
  • 공통점 : 다른 누군가가 만들어 놓은 코드를 내 프로젝트에 인용한다
  • 차이점 : 누가 누구를 Control 하는지가 다르다
    (코드가 나를 Control 하는 지, 내가 코드를 control 하는 지)

Library

  • 정의 : 소프트웨어 개발 시 사용되는 프로그램의 구성요소로 공통으로 사용될 수 잇는 특정한 기능을 모듈화 한 것.

예를 들어 Jquery가 있다. 내가 웹 사이트를 만드는데 Jquery를 활용하여
무언가 작업을 한다. 즉, 코드를 작성하는 주체는 나이고, 여러 라이브러리 중 하나를 가져다가 쓰는 것이다. 내가 필요할 때 Library를 불러오는 개념이다.

Framework

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

말 그대로 뼈대를 의미하며, App 개발 시 각 프레임 워크의 규칙에 따라 코딩해야 한다. 따라서 내 코드를 프레임워크가 불러와서 미리 규정해 놓은 흐름에 따라 처리하게 된다.

ex. django

Library와 Framework의 차이점

-> Flow(흐름)에 대한 제어 권한이 어디에 있느냐의 차이

Framework 없이 개발을 하면 Main 함수 작성부터 시작해서 코드가 어디서부터 시작될 지 흐름을 정한다. 하지만 Framework는 자체적으로 코드 흐름을 제어하고 있기 때문에 개발자가 신경써야 할 일(코드 흐름 정하기)이 줄어든다. 이를 제어의 역전(Inversion Of Control)이라고 부른다.

참고자료1
참고자료2

0개의 댓글