티스토리 뷰

SPRING

다형성과 스프링

짜비 2021. 1. 14. 14:35

정의
객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러
개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지
를 주고받고, 데이터를 처리할 수 있다

 

장점
프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용됨.

객체지향의 특징으로 추상화, 캡슐화, 상속, 다형성이 있다.
이 중 다형성이 가장 중요하다.

 

다형성
역할 - 구현 을 구분하는 것.

  • 운전자-자동차로 비유

K3, 아반떼, 테슬라는 자동차라는 역할구현한 것이다. 자동차가 K3에서 테슬라로 바뀌더라도 운전자는 문제 없이 운전할 수 있다.

 

  • 공연 무대로 비유

각각의 배우는 얼마든지 대체될 수 있다. 즉, 유연하고 변경이 용이하다.

 

다형성 정리
클라이언트(운전자 혹은 특정 배역)은 대상의 역할(인터페이스)만 알면 된다. 구현대상의 내부 구조는 몰라도 된다. 또한 구현대상의 내부 구조가 변경되거나 구현대상이 변경되어도 클라이언트는 영향을 받지 않는다.

 

스프링과 다형성
스프링은 다형성을 극대화해서 이용할 수 있게 도와준다. (IoC, DI)
스프링을 사용하면 마치 레고 블럭을 조립하듯, 공연 무대의 배우를 교체하듯이 구현을 편리하게 변경할 수 있다.

 

사진, 내용 출처 : 인프런, 김영한 강사님의 '스프링 핵심 원리 - 기본편' 강좌, 강의자료

https://inf.run/TErf

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함