본문 바로가기

웹 프로그래밍/스프링

객체 지향 프로그래밍

객체 지향 프로그래밍

-프로그램을 객체들의 모임으로 파악(즉 객체(클라이언트, 서버)간의 협력) -> 유연, 변경 용이(다형성)

 

다형성

-역할(인터페이스) 구현(구현 객체)을 분리

-클라이언트는 대상의 인터페이스만 알면 됨

-클라이언트는 구현대상의 변화에 영향을 받지 않음(클라이언트의 편의성 증가)

-구현보다 역할에 포커스(무한대로 확장 가능)

 

다형성의 본질

-구현 객체 인스턴스를 실행 시점에 유연하게 변경가능

-클라이언트를 변경하지 않고, 서버 구현 기능을 유연하게 변경가능

 

한계

-역할(인터페이스)가 바뀌면, 클라이언트, 서버에 큰 변경이 발생

-따라서 인터페이스를 안정적으로 설계하는것이 중요

 

스프링과 객체 지향

-제어의 역전(IoC), 의존관계 주입(DI)은 다형성을 활용하여 역할과 구현을 편리하게 지원(스프링 컨테이너)

 

'웹 프로그래밍 > 스프링' 카테고리의 다른 글

스프링 컨테이너와 스프링 빈  (0) 2023.02.14
IoC, DI, 컨테이너  (0) 2023.02.14
AppConfig  (0) 2023.02.14
좋은 객체 지향 설계의 5가지 원칙(SOLID)  (0) 2023.02.12
스프링 이란?  (0) 2023.02.12