Spring Framework는 백엔드 개발에 유용한
JAVA기반 프레임워크이다
객체지향 : 컴퓨터 프로그램을 명령어 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 객체들의 모임으로 파악하는 것, 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다.
장점: 유연하고 변경이 용이하다? - 다형성, 클라이언트는 내부를 몰라도 되고 내부에 영향을 받지 않는다. 대상의 역할(인터페이스)만 알면 된다.
역할 = 인터페이스
구현 = 인터페이스를 구현한 클래스
오버 라이딩 : 상위 클래스가 가지고 있는 메서드를 하위 클래스가 정의해서 사용
인터페이스를 구현한 객체를 실행 시점에 유연하게 변경한다.
다형성이 가장 중요하다,
스프링에서 이야기하는 제어의 역전 (IoC), 의존 관계 주입(DI)은 다형성을 활용해서 역할과 구현을 편리하게 다룰 수 있도록 지원한다.