Spring
[Spring] 객체 지향 설계와 스프링
최MAX
2022. 3. 21. 23:54
객체 지향 프로그래밍
컴퓨터 프로그램을 명령어의 목록으로 보는 것이 아닌 여러 개의 독립된 단위, 즉 '객체 Object'들의 모임으로 보는 것. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있음.
다형성
객체 지향의 특징 4가지 (추상화, 캡슐화, 상속, '다형성') 다형성은 객체 지향 프로그래밍에서 역할과 구현을 분리해 프로그램을 유연하고 변경이 용이하게 해준다.
자바 언어에서 다형성을 사용해 역할과 구현을 분리
역할 = 인터페이스
구현 = 인터페이스를 구현한 클래스, 구현 객체
이를 위해서 객체를 설계할 때 역할과 구현을 명확하게 분리해야 함.
객체 설계시 역할(인터페이스)를 먼저 부여하고, 그 역할을 수행하는 구현 객체 만들기
스프링과 객체 지향
스프링의 제어의 역전(IoC, Inversion of Control)와 의존성 주입(DI, Dependency Injection)은 다형성을 활용해서 역할과 구현을 편리하게 다룰 수 있도록 지원.