# 스프링 프레임워크
## 목차
---
1. 스프링 프레임워크란?
2. 스프링 프레임워크의 장단점
## 1. 스프링 프레임워크란?
---
스프링(Spring)은 자바의 대표적 오픈소스 프레임워크(Framework)이다.
여기서 `프레임워크`란 프로그램의 기본 골격(틀)을 제공하는 도구다. 예를들어 찰흙으로 사람을 만든다 가정하자. 찰흙만으로 만드려면 꽤 오랜 시간이 걸릴것이다. 골격을 세워놓고 찰흙을 붙여나가면 어떨까? 훨씬 전체적 구조가 빠르게 잡힐 것이다. 마찬가지로 프로그램의 뼈대를 잡는 것이 바로 프레임워크이다.
![Imgur](https://i.imgur.com/0Mnurqy.png)
## 2. 스프링 프레임워크의 장단점
---
프레임워크를 사용하면 다음과 같은 장점이 있다.
1. 생산성 증가
2. 테스팅 향상
3. 유지보수 용이
단점이 있다면 어느정도 학습이 필요하다는 것과 기존 구성이 정해져 있다는 것이다.
1. 학습비용
2. 자유도 저하
하지만 단점보다 장점이 더 많다. 따라서 거의 모든 개발자들은 프레임워크를 통한 개발을 지향한다.
## 요약
---
1. 스프링이란, 자바 프로그램 개발을 위한 프레임워크다.
2. 프레임워크란, 개발을 돕는 코드의 묶음이다. 이는 전반적 프로그램의 구조와 규칙을 정의한다.
## Ref.
---
스프링 MVC - bit.ly/2SPbuJQ