Spring

[Spring] 객체 지향 설계와 스프링

최MAX 2022. 3. 21. 23:54

 객체 지향 프로그래밍

컴퓨터 프로그램을 명령어의 목록으로 보는 것이 아닌 여러 개의 독립된 단위, 즉 '객체 Object'들의 모임으로 보는 것. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있음. 

 

 다형성

객체 지향의 특징 4가지 (추상화, 캡슐화, 상속, '다형성') 다형성은 객체 지향 프로그래밍에서 역할과 구현을 분리해 프로그램을 유연하고 변경이 용이하게 해준다.

 

 자바 언어에서 다형성을 사용해 역할과 구현을 분리

역할 = 인터페이스

구현 = 인터페이스를 구현한 클래스, 구현 객체

 

이를 위해서 객체를 설계할 때 역할과 구현을 명확하게 분리해야 함.

객체 설계시 역할(인터페이스)를 먼저 부여하고, 그 역할을 수행하는 구현 객체 만들기

 

 스프링과 객체 지향

스프링의 제어의 역전(IoC, Inversion of Control)와 의존성 주입(DI, Dependency Injection)은 다형성을 활용해서 역할과 구현을 편리하게 다룰 수 있도록 지원.