Spring : 자바로 만들 수 있는 모든 앱을 간편하게 만들 수 있도록 도와주는 프레임워크.

자바 언어로 강력한 객체지향 프로그램을 간편히 만들기 위한 도구.

Untitled

// 추상화된 역할 : Dancer 데이터를 CRUD 하라 !

// 구체적으로 어떻게 ? 어디서 ? DB 에서 ? ... 아무튼 CRUD 해

public interface DancerRepository {

// 사용하는 클래스에 코드를 바꾸지 않고

// ⭐⭐ DIP : interface로 CRUD 만들어둔 상위타입을 의존 받아서 사용하기 !

// 단지, 저장 조회 삭제하는 기능을 어디에서 사용하는진 모르겠고 아무튼 interface에 CRUD 만들어놔 !

// ⭐⭐ OCP : 코드를 고치지 않고 메모리 -> DB / DB -> 메모리 바꿀 수 있도록

// EX) private DancerMemoryRepo repo = DancerMemoryRepo.getInstance(); 객체를 스스로 생성하지 말고

// private DancerRepository repo; 외주를 줘서 각각 생성자를 통해 파라미터로 받아와서 사용하기 !