[기술면접] 라이브러리, 프레임워크

한재창·2023년 3월 29일
0
post-thumbnail

프레임워크와 라이브러리 차이점에 대해 설명해주세요.

프레임워크와 라이브러리의 차이점은 흐름을 누가 지니고 있냐의 차이입니다. 프레임워크는 전체적인 흐름을 자체적으로 가지고 있어 프로그래머는 그 안에서 필요한 코드를 작성합니다. 반면에 라이브러리는 프로그래머가 전체적인 흐름을 가지고 있어 라이브러리를 자신이 원하는 기능을 구현하고 싶을 때 가져다 사용할 수 있습니다.
간단히 프레임워크는 가져다가 사용한다는 것보다는 프레임워크라는 특정 공간에 들어가서 사용한다는 느낌이 더 강하다고 말할 수 있으며 라이브러리는 라이브러리 자체를 가져가 사용하고 호출하는 용도로 사용된다고 생각하시면 쉽게 이해할 수 있습니다.

FrameWork(프레임워크)

  • 프레임워크는 뼈대나 기반구조를 뜻합니다. 프로그래밍을 진행할 때 필수적인 코드, 알고리즘 등과 같이 어느 정도의 구조를 제공해주기 때문에 프레임워크를 사용하는 프로그래머는 이 프레임워크의 뼈대 위에서 코드를 작성하여 프로그램을 개발하면 됩니다.

  • 즉 간단하게 프레임워크는 완성된 제품이 아닌 완성된 제품을 만들기 위해서 개발자를 도와주는 또는 기반이 되는 역할을 합니다. 이를 소프트웨어적으로 다시 정의하면 소프트웨어의 특정 문제를 해결하기 위해서 상호 협력하는 클래스와 인터페이스의 집합입니다.

  • 프레임워크는 규정하고 있는 것들, 권장되는 것들을 처음에 사용할 때 전부 공부해야하기 때문에 사용할 때 시간이 오래 걸린다는 단점과 정해진 틀 안에서 규칙을 따라야하기 때문에 자율성이 떨어지는 단점이 있습니다.

  • 예시로는 Django, Spring, Android, ios 등이 있습니다.

Library(라이브러리)

  • 라이브러리는 특정 기능에 대한 도구 또는 함수들의 집합입니다. 프로그래머가 어떠한 기능을 수행하기 위해서 도움을 주는 또는 필요한 것을 제공해주는 역할을하는 것이죠. 간단히 정리를 하자면 프로그램 기능 수행을 위해 활용 가능한 도구의 집합입니다.

  • 리액트는 웹 어플리케이션을 만드는 다양한 문제들 속에서 UI를 만들 수 있게 도와주는 라이브러리입니다. React-Router-Dom 이나 React-query 처럼 라우팅이 필요하거나 비동기 통신 상태 관리가 필요할 때 상황에 따라 필요할 때마다 골라서 사용할 수 있어 자율성이 보장이 됩니다.

  • 예시로는 jQuery, React, NumPy 등이 있습니다.

profile
취준 개발자

0개의 댓글