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

민기님의 프로필 이미지
민기

작성한 질문수

스프링 핵심 원리 - 기본편

주문과 할인 도메인 실행과 테스트

FixDiscountPolicy의 discount()의 매개변수로 price를 넣는 이유

작성

·

218

·

수정됨

0

@Override
public int discount(Member member, int price) { // int price 는 왜 넣지 ?
    if (member.getGrade() == Grade.VIP) {
        return discountFixAmount;
    } else {
        return 0;
    }
}

이 메서드에서, discount의 매개변수로 member와, price를 넣고 있습니다.
member 객체는 Grade의 값이 VIP인지 알아내야 하므로 넣는것을 이해하고 있습니다.

그런데 price는, 메서드 내에서 사용하지 않고 있는데 왜 price 값을 매개변수로 넣고 있나요 ? 확장 가능성 때문이라고 봐야할까요 ?

답변 1

0

안녕하세요. 민기님, 공식 서포터즈 코즈위버입니다.

현재 수강중이신 예시에서는 회원등급에 따라 고정금액을 할인하고 있어, price가 무의미한 상태입니다.

이후, 금액의 일정 요율(%)로 할인 정책을 만들때에는 price 를 사용하여 계산을 해야 합니다.

이 부분을 고려하여 인터페이스에서는 회원과 가격정보를 모두. 받도록 하였습니다 :)

 

감사합니다.

민기님의 프로필 이미지
민기

작성한 질문수

질문하기