스프링이란..

HYUNBIN CHO·2021년 4월 12일
0

spring

목록 보기
1/23

🔹 가장 중요한 핵심 : 스프링 프레임워크
🔹 다양한 스프링 프로젝트를 편리하게 사용하도록 도와주는 역할 : 스프링 부트

🔹 스프링 프레임워크의 기술들

🔸 핵심적인 기술 : DI컨테이너, AOP, 이벤트..
🔸 웹 관련 기술 : 스프링MVC, 스프링 WebFlux
🔸 데이터 접근 기술 : 트랜잭션, JDBC, ORM, XML지원
🔸 이외 : 캐시, 이메일, 원격접근, 스케쥴링
🔸 언어 : 코틀린, 그루비

🔹 스프링 부트의 역할

스프링을 편리하게 사용할 수 있도록 지원하는 역할을 함

🔸 tomcat같은 웹 서버를 내장 -> 웹 서버를 따로 설치하지 않아도 됨
🔸 starter종속성 제공과 외부 라이브러리를 자동으로 구성 -> 빌드 구성이 쉬워짐.

🔹 스프링은

자바라는 객체 지향 언어가 가진 장점을 살려내서 좋은 객체 지향 애플리케이션을 개발할 수 있도록 도와주는 프레임워크

🔹 객체 지향 언어의 특징

🔸 추상화
🔸 캡슐화
🔸 상속
🔸 다형성

그렇다면

🔹 좋은 객체지향 프로그래밍이란

책임과 역할이 잘 구분되어 있고, 결합도는 낮지만 응집도는 높은 프로그램을 만드는 것

‼️다형성

🔹 역할과 구현으로 세상을 구분

🔸 공연에서 배역과 배우
🔸 자동차와 운전자
🔸 키보드, 마우스 등의 표준 인터페이스들

🔹 클라이언트는 대상의 역할(인터페이스)만 알면되고 내부구조가 어떻게 생겼는지, 변경이 되었는지 모르고 알 필요도 없다.
🔹 인터페이스를 구현한 객체 인스턴스는 실행시점에 유연하게 변경이 가능하다. ➡️ 클라이언트를 변경하지 않고, 서버의 구현기능을 변경할 수 있다.
🔹 설계 시 인터페이스(역할)을 먼저 부여하고, 이후에 역할을 구현하는 객체를 만든다.

🔹 역할과 구현을 잘 분리한 프로그램은

🔸 유연하고 변경에 용이
🔸 확장이 가능한 설계
🔸 클라이언트에 영향을 주지 않는 변경이 가능하다.

‼️ 따라서 인터페이스가 변화가 없도록 잘 설계하는 것이 구현을 잘 하는 것보다 더 중요하다.







https://www.inflearn.com/course/스프링-핵심-원리-기본편#

profile
백견이 불여일타

0개의 댓글