ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 프레임워크와 라이브러리의 차이점을 설명해주세요.
    CS지식 모음 2023. 3. 29. 13:13

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

    제가 예전에 테크유튜브를 보다가 프레임워크와 라이브러리의 차이점에 대해서 설명하는 영상을 보았는데요.

    오래전이라 기억은 자세히 나지 않지만 차이점은 이랬습니다.

     

    프레임워크 : 정해진 규정에 맞게만 코드를 작성하면 됨

    라이브러리 : 이 코드가 아니면 안됨

     

    근데 React 공식문서를 가보면 대문에 React는 라이브러리 라고 소개하고있는데,

    음.. 저렇게 따지면 React는 프레임워크가 아닌가? 라는 생각이 듭니다.

    그래서 아직도 React가 프레임워크다, 라이브러리다 공방이 펼쳐지고 있는 것 같은데요.

     

    오늘 주제를 통해서 프레임워크와 라이브러리의 차이점이 뭔지 확실히 알아보겠습니다!

     

     

    프레임워크

    뼈대나 기반구조를 뜻하며, 제어의 역전 개념이 적용된 대표적인 기술.

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

    ㄴ 제 느낌에 프레임워크는 사람으로 치면 기본 골격,뼈대 의 느낌이 강합니다. 

        여기에 내가 살을 살색으로 붙히던 검정색으로 붙히던 흰색으로 붙히던 상관 없지만 기본 골격에 맞게 살을 붙혀야 한다는거죠.

     

    라이브러리

    단순 활용가능한 도구들의 집합.

    즉, 개발자가 만든 클래스에서 호출하여 사용하며 클래스들의 나열로 필요한 클래스를 불러서 사용하는 방식을 취합니다.

    그렇기에 라이브러리를 사용하는 애플리케이션 코드는 사용자가 흐름을 직접 제어하고, 단지 동작하는 중 필요한 기능이 있을 때 능동적으로 라이브러리를 사용하는 것 입니다.

    ㄴ 라이브러리는 악세서리함 같은 느낌이네요. 필요할때 악세서리 함에서 내가 원하는 디자인의 악세서리를 꺼내서 착용하는?? 그런 느낌인 것 같습니다.

     

     

    이렇게 프레임워크와 라이브러리에 대해 구글링해서 개념을 정리해보고 느낀점을 적어보았는데요.

    그래서 궁극적인 이 포스트의 목표.

    그래서 차이점이 무엇이냐~ 를 생각해봐야 하는데..

    두개의 설명에서 공통적으로 들어가나 내용이 다른것이 "흐름" 인 것 같습니다.

    애플리케이션의 흐름을 누가 가지고 있느냐 의 차이가 있는 것 같아요.

    그리고 프레임워크에는 제어의 역전 개념이 꼭 적용되어 있어야 한다고 합니다.

    그렇다면 제어의 역전이란 무엇인가? 이것도 한번 알아봤습니다.

     

    제어의 역전

    제어의 역전 개념은 개발자가 작성한 코드가 프레임워크에 의해 실행되며,

    필요한 다른 코드나 라이브러리가 개발자가 작성한 코드를 호출합니다.

    이렇게 프레임워크가 개발자가 작성한 코드를 실행하고, 필요한 코드나 라이브러리를 제어하는 방식을 제어의 역전이라고 합니다.

    제어의 역전 개념은 프레임워크에서 매우 중요한 개념입니다.

    프레임워크가 제어의 역전을 적용하면, 개발자는 프로그램의 흐름을 직접 제어하지 않아도 되므로

    코드를 작성하는 데 있어서 더욱 편리하고, 유연하며, 확장 가능한 코드를 작성할 수 있습니다.

    이러한 장점으로 인해, 제어의 역전 개념은 대부분의 현대적인 프레임워크에서 적용되고 있습니다.

     

     

    라고 하네요!!!

    그럼 프레임워크와 라이브러리의 차이점, 오늘도 잘 배우고 갑니다^^

Designed by Tistory.