-
객체 지향 프로그래밍 (OOP, Object-Oriented Programming)Spring/Spring 2022. 1. 13. 22:45728x90반응형
객체 지향 프로그래밍 (OOP, Object-Oriented Programming)
객체 지향 프로그래밍은 프로그램을 수많은 '객체'라는 기본 단위로 나누고 이들이 상호작용으로 서술하는 방식이다. 객체는 하나의 역활을 수행하는 '메소드와 변수'의 묶음으로 볼 수있다.
객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어개발에 많이 사용된다. 유연하고 변경이 용이하라는 말이 무엇일까? 바로 바로 객체 지향 언어의 특징 중 하나인 '다형성'을 말한다.
이 다형성으로 클라이언트는 대상의 인터페이스만 알면 인터페이스를 상속받는 인스턴스의 내부 구조를 몰라도 된다. 즉, 클라이언트는 인터페이스를 사용만하면 되기때문에 인스턴스의 내부 구조가 변경되어도 클라이언트는 아무런 영향을 받지 않을 뿐만아니라 인스턴스를 인터페이스를 상속받는 또 다른 타입의 클래스 인스턴스로 변경하여도 영향을 받지 않게 된다.
때문에 이러한 특징을 잘 살리기 위해서는 객체 설계시 인터페이스를 먼저 설계하고, 그 역활을 수행하는 클래스를 만드는게 중요하다. 이러한 특징만 잘 활용하면 클라이언트에게 영향을 주지 않으면서 서버의 구현 기능을 유연하게 변경, 확장 할 수 있게 된다.
스프링에서는 이 다형성을 활용하여 IoC(제어의 역전), 의존관계 주입(DI)을 통해 인터페이스와 클래스들을 편리하게 다룰 수 있도록 지원한다.
728x90반응형'Spring > Spring' 카테고리의 다른 글
스프링의 등장 - 순수 자바 코드에서 스프링까지 3 , IoC(제어의 역전)와 Di 그리고 등장하는 스프링 (0) 2022.01.16 스프링의 등장 - 순수 자바 코드에서 스프링까지 2 (0) 2022.01.16 스프링의 등장 - 순수 자바 코드에서 스프링까지 1 (0) 2022.01.15 SOLID - SRP, OCP, LSP, ISP, DIP (0) 2022.01.14 Spring (0) 2022.01.13