인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

김온님의 프로필 이미지
김온

작성한 질문수

스프링 핵심 원리 - 기본편

주문과 할인 도메인 개발

만약 할인 정책 변경 시

작성

·

47

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

7분쯤부터 말씀해주신 객체 지향 설계가 잘 돼있다라는 말이 만약 할인 정책이 정률로 바뀌는 경우 RateDiscountPolicy라는 구현체를 구현해서 OrderService에서 생성하기만 하면 다른 것들을 바꿀 필요가 없다는 말씀이신가요?? 제가 이해한게 맞는지 궁금해요

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 김온님.

객체 지향 설계가 잘 되어 있다면, 할인 정책 변경에 따라 구체적인 구현체만 변경해도 다른 많은 부분들이 영향을 받지 않는다는 뜻 맞습니다. 이 경우 특정 클래스의 내부 로직을 바꾸는 대신 새로운 클래스(예: RateDiscountPolicy)를 구현하고 이를 사용하는 부분에서만 교체해 주면 됩니다. 이런 설계는 다형성을 이용하여 유연성을 극대화하는 예시로 볼 수 있습니다.

비슷한 주제로 토론된 게시물을 안내드리겠습니다:

  1. DiscountPolicy를 호출할 때 왜 인터페이스를 호출하나요?: 이 게시물은 할인 정책에 대한 인터페이스 활용과 관련된 질문입니다. 인터페이스를 사용함으로써 다양한 할인 정책을 유연하게 변경할 수 있는 장점에 대해 설명하고 있습니다.

  2. 도메인 설계의 가정이 변경되었을 경우: 이 질문에서는 도메인 설계와 관련하여 새로운 요구사항에 어떻게 적응하는지가 설명되어 있습니다. 해당 게시물의 답변은 할인 정책의 변경이 요구될 때에도 유연성 있게 대처할 수 있는 방법을 설명하고 있으며, 이 과정에서 인터페이스와 구현체의 역할이 강조됩니다.

김온님의 질문은 객체 지향 설계를 잘 이해하고 활용하는 데 매우 중요합니다. 이러한 설계 기법을 통해 코드의 변경에 대응하고 유지보수를 용이하게 할 수 있습니다. 이 답변이 김온님의 이해에 도움이 되기를 바랍니다. 궁금한 사항이 있으면 계속 질문해 주세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

김온님의 프로필 이미지
김온

작성한 질문수

질문하기