Today I Learned_220404

최대 1 분 소요

Spring Framework

인프런 스프링 강의 수강

객체 지향의 특징과 스프링

객체 지향의 특징 : 추상화, 캡슐화, 상속, 다형성 -> 스프링에서는 다형성의 개념이 중요하다.

스프링 프레임워크는 어떻게 보면 다형성을 쉽게 구현할 수 있도록 지원하는 프레임워크. (제어의 역전, 의존관계 주입)

객체 지향 프로그래밍이란?

객체 지향 프로그래밍이란?

프로그램을 객체들의 모임으로 파악

각각의 객체는 메시지를 주고받으며 협력하며 데이터를 처리

객체지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만든다. -> 유연하고 변경이 용이하게 만들기 위해 다형성 개념이 활용됨

다형성

기능이 똑같으면 성능이 더 좋은 내부 처리 로직으로 변경할 수 있음 - 다형성

다형성에서는 역할과 구현이 구분이 된다.

역할과 구분을 구현했을때의 장점 -> 클라이언트는 인터페이스만 알면 되며, 내부 구조를 몰라도 된다. 또한 내부 구조가 변경되어도 영향이 없으며 구현체 대상 자체를 변경해도 영향을 받지 않는다.

프로그래밍할 때, 객체를 설계할 때 인터페이스를 먼저 잘 설계하고, 그 인터페이스에 맞는 구현 객체를 만들어야 한다.

다형성 구현 시 인터페이스를 사용하는 이유? 클래스 상속은 단일상속만 가능하지만, 인터페이스는 다중상속이 가능하기에 가급적이면 인터페이스를 사용한다.

다형성을 활용하는 예시 - 오버라이딩, 업캐스팅

다형성 정리

다형성을 활용하면 클라이언트를 변경하지 않고 서버의 구현 기능을 유연하게 변경할 수 있다.

확장 가능한 설계를 할 수 있다(신기술이 나와도 적용이 바로 가능하다)

인터페이스가 변경되면 서버와 클라이언트 모두 크게 변경이 된다.

그만큼 인터페이스가 중요하므로, 인터페이스를 잘 설계하는 것이 중요하다.

카테고리:

업데이트: