공부 기록/이것이 백엔드 개발이다 With Java
EP23. 상품 관리 애플리케이션에 객체지향 더하기 1편
클래스 추상화하기 애플리케이션을 개발하다 보면, 같은 기능을 하더라도 실행 환경에 따라 다른 구현을 써야 하는 요구사항이 자주 생긴다.예를 들어 로컬 개발 환경에서는 테스트가 편하도록 List를 사용하는 저장소를 쓰고,실제 서버에서는 데이터베이스를 사용하는 저장소를 쓰고 싶을 수 있다. 이런 요구는 학습용 예제에서만 나오는 특별한 상황이 아니라, 실무에서도 아주 흔하게 마주치는 문제다. 이 문제를 처음 떠올렸을 때 가장 단순하게 생각할 수 있는 방법은, 실행 환경에 따라 코드를 직접 바꿔치기하는 것이다.즉, 내 노트북에서 실행할 때는 ListProductRepository를 연결해두고,서버에 배포할 때는 DatabaseProductRepository를 연결하도록 소스를 수정하는 방식이다.하지만 이 방법..