*인프런 강의 중 일부 예제 코드를 발췌하였으며, 주석을 통해 학습 이해도를 높이는 방향으로 스터디하고 있습니다. 인터페이스 개발이 왜 필요한가? The point is to separate the API (what to do) from the implementation (how to do it). 요지는 역할과 구현을 구분하는 것입니다. 백엔드 개발 시에 자주 접할 상황을 예시로 들겠습니다. DB 방식(RDB or NoSQL)이 정해지지 않은 상황인데 개발은 기간내로 해야하는 상황입니다. 난감하겠지만 이때 인터페이스 설계를 통해 개발을 진행할 수 있습니다. DB에 접근하고 도메인 객체를 DB에 저장관리하는 리포지토리 인터페이스를 우선 구축하고, 별도 구현체 생성하여 가벼운 메모리 기반의 데이터 저장소로..