이 코드는 뭘까

프레임워크(Framework) 본문

Back-end/Spring

프레임워크(Framework)

OlttaeMelona 2022. 8. 20. 18:25

 

 

Spring이 java언어를 기반으로 한 오픈소스 자바 웹 프레임워크(Java Web Framework)라는데

여기서 프레임워크는 무엇일까?

 

 

🌟프레임워크(Frame Work)란?

1) 소프트웨어 개발에 있어서 뼈대 역할이다.

  • 프레임 워크는 자주 쓰일만한 기능들을 한데 모아놓은 클래스들의 집합이다.
  • 기본적인 설계에 필요한 코드를 제공해주고 개발자는 이 코드는 수정, 확장해서 필요한 기능을 구현하는데 사용할 수 있다.
  • 일정수준 품질을 보장받는 코드를 보다 쉽게 유지 보수 할 수 있는 환경을 제공해준다.
  • 즉, 프레임워크는 기본적인 설계에 필요한 라이브러리를 제공해주고 프레임워크를 기반으로 개발자는 원하는 기능에 집중 할 수 있다.

 

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

  • library - 자주 사용되는 코드를 재사용하기 하기 편하도록 정리된 코드의 집합

프레임워크는 소프트 개발에 있어서 뼈대 역할을 한다고 했다.

만약 컴퓨터가 있다고 가정해보자.

여기서 데스크탑과 모니터의 껍데기는 기계의 뼈대에 해당한다.

뼈대만 있다면 컴퓨터가 작동할 수 있을까?

컴퓨터가 작동하려면 그 안에 cpu나 메모리카드, 그래픽 카드 등 푸품이 있어야 동작할 수 있다.

여기서 부품에 해당하는 것이 라이브러리다.

컴퓨터 프레임은 한번 정해지면 변경하기 어렵지만

그 안에 부품들은 필요할 때 다른 부품으로 바꾸기 비교적 수월하다.

컴퓨터가 동작하기 위해서는 껍데기와 부품이 합쳐져야 동작할 수 있다.

즉, 프레임워크는 껍데기이고 라이브러리는 껍데기 안에 채워지는 부품의 관계라고 할 수 있다.

 

 

3) 프레임워크의 장점

  1. 시간과 비용을 절약
  2. 검증된 코드를 사용해서 버그의 가능성을 낮춰준다.
  3. 유지 보수에 안정적이다.

개발을 할 때 모든 코드를 일일이 만들어서 사용할 수 있지만 그렇게 개발한 소프트웨어를 다른 개발자가 유지 보수를 해야한다면 그 코드들을 분석하는데 오랜 시간이 걸릴 것이다.

하지만 다수의 개발자가 프레임워크의 기본적인 틀을 제공받아 코드를 작성한다면 다른 개발자가 코드를 분석하기 수월해지고 필요한 기능을 구현하는데만 집중할 수 있게된다.

 

 

4) 요약

프레임워크(Framework)는 라이브러리 + 기능구현에 필요한 설계도를 제공해준다.

 

 

'Back-end > Spring' 카테고리의 다른 글

Spring의 개념  (0) 2022.08.20
Comments