인프런 커뮤니티 질문&답변
스프링 핵심원리 -기본편(주문과 할인 도메인 개발) 관련
해결된 질문
작성
·
267
0
안녕하세요, 스프링 핵심원리 -기본편(주문할인 도메인 개발) 수강중에 궁금해서 남겨봅니다.
아래의 코드에서 멤버 변수를 final로 선언 하는 이유가 무엇인지 궁금합니다. 자바에서 final은 변하지 않는값, 상수로 알고 있는데 저기서 final로 멤버변수를 설정한 이유가 있는것 일까요?
public class OrderServiceImpl implements OrderService{
private final MemberRepository memberRepository = new MemoryMemberRepository();
private final DiscountPolicy discountPolicy = new FixDiscountPolicy();
@Override
public Order createOrder(Long memberId, String itemName, int itemPrice) {
Member member = memberRepository.findById(memberId);
discountPolicy.discount(member, itemPrice);
int discountPrice = discountPolicy.discount(member, itemPrice);
return new Order(memberId, itemName, itemPrice, discountPrice);
}
}





