ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 객체 지향 프로그래밍 (OOP, Object-Oriented Programming)
    Spring/Spring 2022. 1. 13. 22:45
    728x90
    반응형

     

    객체 지향 프로그래밍 (OOP, Object-Oriented Programming)

     

     객체 지향 프로그래밍은 프로그램을 수많은 '객체'라는 기본 단위로 나누고 이들이 상호작용으로 서술하는 방식이다. 객체는 하나의 역활을 수행하는 '메소드와 변수'의 묶음으로 볼 수있다. 

     

     객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어개발에 많이 사용된다. 유연하고 변경이 용이하라는 말이 무엇일까? 바로 바로 객체 지향 언어의 특징 중 하나인 '다형성'을 말한다.

     

    실제 세계에서 적용한 클라이언트와 인터페이스, 클래스 간의 관계

     

     이 다형성으로 클라이언트는 대상의 인터페이스만 알면 인터페이스를 상속받는 인스턴스의 내부 구조를 몰라도 된다. 즉, 클라이언트는 인터페이스를 사용만하면 되기때문에 인스턴스의 내부 구조가 변경되어도 클라이언트는 아무런 영향을 받지 않을 뿐만아니라 인스턴스를 인터페이스를 상속받는 또 다른 타입의 클래스 인스턴스로 변경하여도 영향을 받지 않게 된다.

     

     때문에 이러한 특징을 잘 살리기 위해서는 객체 설계시 인터페이스를 먼저 설계하고, 그 역활을 수행하는 클래스를 만드는게 중요하다. 이러한 특징만 잘 활용하면 클라이언트에게 영향을 주지 않으면서 서버의 구현 기능을 유연하게 변경, 확장 할 수 있게 된다.

     

     스프링에서는 이 다형성을 활용하여 IoC(제어의 역전), 의존관계 주입(DI)을 통해 인터페이스와 클래스들을 편리하게 다룰 수 있도록 지원한다.

     

     

     

     

     

     

     

     

     

    728x90
    반응형

    댓글

Designed by Tistory.