해당 게시글은 김영한님의 스프링 핵심 원리 - 기본편의 강좌 정리 입니다.
내용 및 소스 출처
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8
Spring은 객체 지향 언어인 Java의 프레임워크로, 객체 지향 언어의 특징을 살려내고, 좋은 객체 지향 프로그램을 개발 할 수 있게 도와주는 프레임워크다.
객체 지향 프로그래밍이란?
프로그래밍을 명령어의 목록으로 보는 것이 아닌, 독립된 단위 "객체"들의 모임으로 파악하는 것으로, 각 객체는 메세지를 주고 받고 데이터를 처리 할 수 있다.
객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만드는 장점이 있다.
다형성
객체 지향 프로그래밍의 특징으로, 역할과 구현으로 세상을 구분하는 것이다.
위의 이미지와 같이 역할과 구현으로 구분하면, 세상이 단순해지고, 유연해지고 ,변경도 편리해진다.
예를 들어, 기존의 코드가 운전자와 자동차 역할(자동차는 k3)로 연결 되어있던 것을 아반떼로 변경하는 것은 운전자 코드가 아닌 자동차를 아반떼로만 변경하면 된다.
자바에서는 역할은 인터페이스, 구현은 인터페이스를 구현한 클래스, 객체로 개발한다.
객체를 설계 할 때, 역할과 구현을 명확하게 구별하고, 역할(인터페이스)를 먼저 부여하고, 구현 객체를 만든다.
즉 다형성은 클라이언트를 변경하지 않고, 서버의 구현 기능을 유연하게 변경이 가능하다는 것이다.
스프링에서의 객체 지향은 다형성이 매우 중요하며, IoC와 DI는 다형성을 활용해 역할과 구현을 편리하게 다룰 수 있게 해준다.
'B.E > Spring' 카테고리의 다른 글
[Spring] Spring Boot 프로젝트 배포 (0) | 2022.08.21 |
---|---|
[Spring] Ioc, DI, 컨테이너 (0) | 2022.08.14 |
[Spring] 좋은 객체 지향 설계의 5가지 원칙 (0) | 2022.08.14 |
[Spring] Book Api Project (0) | 2022.05.30 |
[SPRING] 01. IntelliJ, Spring Initalizr 셋팅하기 (0) | 2022.04.11 |