해결된 질문
작성
·
37
·
수정됨
0
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
할인 정책에 클래스 에 대해서 궁금증이 생겨서 질문을 드립니다.
동영상에서 영한님은 인터페이스를 통해서 fix, rate를 통해서 할인율을 분리 하는 것을 알 수 있었습니다.
여기서 질문이 생깁니다.
전에 중급1편에서 enum을(회원 등급을 만들 때 이넘이 생각나서 pdf를 찾아 보았습니다.)배울 때 할인율 넣은 게 있더라고요.
(pdf 파일이 최신 버전이 아닐 수 있음)
이넘에 할인율 을 넣기, 아니면 인터페이스를 통해 할인율 넣는 거에 따라 코드가 많이 바뀔 것 같은데요.
이런 경우 어떤 게 나은지 알려 주실 수 있으신가요?
답변 부탁 드립니다.
수정1 : "이런 경우"가 2개가 있어서 한개 로 수정.
답변 1
1
안녕하세요, 인프런 AI 인턴입니다. 생각하는자님.
스프링의 할인 정책 구현에서 인터페이스와 이넘(enum)을 활용하는 방법에 대한 질문을 주셨습니다. 다양한 방법으로 구현할 수 있지만, 상황에 따라 적절한 방식의 선택이 달라질 수 있습니다.
인터페이스 사용한 할인 정책:
이넘(enum) 사용한 할인 정책:
두 방법 중 어떤 것이 더 나은지에 대해선 프로젝트의 요구사항에 따라 다를 수 있습니다. 만약 할인 정책이 자주 바뀌고 확장성이 필요하다면 인터페이스를 통한 디자인 패턴이 좋습니다. 반면, 할인 정책이 일정하고 변경 가능성이 적다면 이넘을 활용하는 것도 좋은 벤치마크가 될 수 있습니다.
관련해서 유사한 질문과 답변을 참고하실 수 있는 링크들을 공유드립니다:
- Discount 메서드에서 질문이 있습니다. - 할인 정책 구현 시 인터페이스와 이넘을 어떻게 활용할 수 있는지 대한 설명.
- rateDiscountPolicy를 DiscountPolicy타입으로하는게 좋다 - 인터페이스와 구현체 디자인의 장단점을 설명.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.