역할과 구현을 나누어서,

즉, 인터페이스와 구현할 객체를 나누어서 개발을 해보겠습니다.

단, 순수한 자바로만 개발을 해봅시다.

그래서 실제 요구사항이 나중에 변경이 되었을 때 정말 유연하게 대처가 가능한지, 다형성, OCP, DIP가 잘 지켜지고 있는지 확인 해보겠습니다.

스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트 생성

🌟 [TIP]

Gradle 모드에서 IntelliJ 모드로 변경

인텔리제이로 바로 실행하기 때문에 좀 빠름