O. 개방-폐쇄 원칙 (Open-Closed Principle) 소프트웨어 요소(클래스, 모듈, 함수 등)는 확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 한다! 문제 상황 1 (잘못된 개방)비교적 최근에 쇼핑몰 연동 개발을 진행한 적이 있어, 상품 조회하는 기능이 하나의 메서드에서 분기처리되어 있더라고public class ShopItemService { public ShopItemResponse search(ShopType type, ShopItemSearchRequest request) { if (ShopType.Amazon.equals(type)) { // 아마존 상품 조회 } else if (ShopType.Cafe24.equals(type)..