작성
·
107
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 황선태 님께서 질문 주신 부분은 객체지향 설계에서 매개변수 선택에 대한 고민에 관한 것입니다.
우선, DiscountPolicy
인터페이스에서 discount(Member member, int price)
메서드의 매개변수로 Member
를 받는 이유는 유연성을 높이기 위해서입니다. Member
객체를 전달함으로써 나중에 할인 로직이 더 복잡해져도 다양한 회원 속성에 액세스하여 사용할 수 있는 확장성을 확보할 수 있습니다.
예를 들어 현재는 Member
객체의 getGrade()
메서드를 활용하여 등급에 따른 할인만 진행하고 있지만, 필요에 따라 회원의 나이, 가입일, 구매 이력 등을 할인 판단 기준으로 사용하도록 변경할 수 있습니다. 이렇게 하면 추가 파라미터를 늘리지 않아도 인터페이스를 통해 충분한 정보가 전달될 수 있어 설계를 깔끔하게 유지할 수 있습니다.
아래 링크는 이와 관련된 유사한 내용의 질문과 답변들입니다:
Member
객체를 받는 이유에 대해 설명하고 있습니다.저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.