[Spring/스프링] 1. 스프링의 개념 (프레임워크, 라이브러리)

2023. 12. 19. 23:47스파르타/Spring

 

 

Spring 이란?

JAVA / Kotlin 기반의 애플리케이션 프레임워크이다.

Spring은 개발자가 비즈니스 로직에 집중할 수 있도록 앤터프라이즈 애플리케이션의 "Plumbing(배관)"에 중점을 둔다.

 

 

 

프레임워크 (Framework)

Application을 개발하기 위한 규약과 다양한 요소들을 제공하는 틀을 말한다.

 

 

라이브러리 (Library)

Application 개발시에 활용가능한 도구(코드)의 집합을 말한다.

 

 

 

 

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

 

프레임워크는 우리가 애플리케이션 관련 코드를 작성하면 이를 알아서 호출해주는 역할을 하고,

라이브러리는 우리가 애플리케이션 코드를 작성할 때 활용하는 도구라고 보면 된다.

 

 

 

 

 

 

라이브러리와 자주 등장하는 Module, Package라는 개념을 알아보자.

Package < Module < Library 순으로 사이즈가 점점 커진다고 볼 수 있다.

 

 

 

패키지 (Package)

Package 는 관련 클래스 및 인터페이스 집합을 구성하는 네임스페이스이다.

java, kotlin 에서는 개념적으로 하나의 디렉토리라고 볼 수 있다.

 

 

모듈 (Module)

Module 은 패키지와 관련 리소스의 모음이다.

하나의 작은 역할을 담당한다.

특히 Java Module은 Application 혹은 API 를 별도의 Module 로써 패키징하는 매커니즘이다.

 

 

라이브러리 (Library)

Library 는 기능의 집합이라고 할 수 있다.

여러 개의 모듈로 구성된다.

예를 들어 Collections 라이브러리는

Set module, List module, Map module 등으로 구성된다고 말할 수 있다.