♪ 학습 내용
스프링과 객체 지향의 다형성
* 스프링
스프링이라는 단어는 문맥에 따라 다르게 사용되는데, 통상 스프링이라 하면 스프링 부트, 스프링 프레임워크를 포함해서를 말한다.
무언가를 진정 내 것으로 하기 위해서는 핵심 개념과 왜 사용하는 지를 알아야한다.
* 스프링의 핵심
스프링은 자바 언어 기반
자바는 대표적 객체 지향 언어
스프링은 객체 지향 프로그램을 잘할 수 있게 도와주는 도구이다.
그렇다면 좋은 객체 지향 프로그램이란 과연 무엇일까 ?
* 객체 지향 프로그래밍
- 객체들의 모임
- 각 객체들은 메세지를 주고받고 데이터를 처리한다.(협력)
- 유연하고 변경이 용이 ( = 객체지향의 다형성)
다형성을 실세계에 비유하려면 세계를 '역할'과 '구현'으로 구분해야한다.
ex)
운전자 역할과 자동차 역할 그리고 이를 구현한 K3, 아반떼, 테슬라. 차를 바꿔도 운전하는 데에는 영향이 없다.
자동차의 역할을 기반으로 다양한 차를 구현했기 때문에. 그리고 운전자는 자동차의 역할(기본적인 운전법)에만 의존
클라이언트(운전자)에 영향을 주지 않고 새로운 기능
이처럼 역할과 구현으로 구분 => 유연, 변경에 용이하다
자바 언어의 다형성을 활용하여 역할(인터페이스)을 먼저 부여하고, 역할을 수행하는 구현 객체 만들음
인터페이스를 안정적으로 잘 설계하는 것이 중요하다
* 다형성의 본질
클라이언트를 변경하지 않고, 서버의 구현 기능을 유연하게 변경할 수 있다
* 스프링과 객체 지향
- 객체지향의 꽃인 다형성이 제일 중요하다
- 스프링은 다형성을 극대화해서 이용
♪ 다음 학습 내용
스프링과 객체 지향 설계를 제대로 이해하기 위해서는 다형성과 SOLID를 잘 이해해야 한다
SOLID = 좋은 객체 지향 설계의 5가지 원칙
'Dev > Spring' 카테고리의 다른 글
[Spring 기본] 핵심 원리 예제 (3) (0) | 2022.10.27 |
---|---|
[Spring 기본] 핵심 원리 예제 (2) (0) | 2022.10.27 |
[Spring 기본] 핵심 원리 예제 (1) (0) | 2022.10.27 |
[Spring 기본] 객체 지향 설계와 스프링 (2) (0) | 2022.10.26 |
[Spring] 스프링 공부 시작 (2) | 2022.10.25 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!