[Spring] Framework와 Library

최우형·2023년 3월 31일

Spring

목록 보기
1/9

📌Framework란?

소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것이다.

간단히 말해, 우리가 어떠한 애플리케이션을 만들기 위한 틀 혹은 구조를 제공하는 것

Framework를 왜 사용할까?

장점

  • 효율적으로 코드를 작성할 수 있다.

    Framework가 라이브러리 형태로 다양한 기능을 제공함을써 개발자가 애플리케이션의 핵심 로직을 개발하는 것에 집중할 수 있도록해준다.

  • 정해진 규약이 있어 애플리케이션을 효율적으로 관리할 수 있다.

    규약에 맞게 코드를 작성하기 때문에 빠르게 코드를 파악하고 수정하기가 용이하다.

단점

  • 자유롭고 유연한 개발이 어렵다.

    이미 만들어진 애플리케이션에서 Framework를 변경하거나, 유연한 개발을 위해 Framework를 사용하지 않게 변경할 경우 많은 시간과 노력이 필요하다.

📌Framework와 Library의 차이?

Library는 애플리케이션을 개발하는 데 사용되는 일련의 데이터 및 프로그래밍 코드이다.

간단히 말해, 애플리케이션을 개발할 때 필요한 기능을 미리 구현해놓은 집합체

차에 비유하자면 Framework는 자동차의 뼈대 즉, Frame이고, Library는 자동차에 바퀴, 라이트 등 다양한 기능을 제공하는 부품이다.

자동차처럼 Frame을 교체하는 일은 어렵지만, Library는 쉽게 교체가 가능하고 필요한 Library들을 선택적으로 사용할 수 있다.

다시말해, 애플리케이션에 대한 제어권의 차이가 있다.

Library는 애플리케이션 흐름의 주도권이 개발자에 있지만, Framework는 애플리케이션 흐름의 주도권이 개발자가 아닌 Framework에 있다.

profile
프로젝트, 오류, CS 공부, 코테 등을 꾸준히 기록하는 저만의 기술 블로그입니다!

0개의 댓글