• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

오류

24.03.23 15:17 작성 24.03.23 15:36 수정 조회수 112

0

주문과 할인 도메인 개발 강의에서 아래와 같이 작성하였는데요.

 

package hello.core.order;

import hello.core.discount.DiscountPolicy;
import hello.core.discount.FixDiscountPlicy;
import hello.core.member.Member;
import hello.core.member.MemberRepository;
import hello.core.member.MemoryMemberRepository;

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);
        int discountPolicy = discountPolicy.discount(member, itemPrice);

        return new Order(memberId, itemName, itemPrice, discountPolicy);
    }

    public DiscountPolicy getDiscountPolicy() {
        return discountPolicy;
    }
}

 

int discountPolicy = discountPolicy.discount(member, itemPrice);

이 부분에서 변수 discountPolicy가 초기화되지 않았을 수 있습니다. 라는 오류가 뜹니다.

 

실제 이 부분 때문에 실행이 안되는데요.

인터페이스를 초기화할 수 없어서 그런거 아닌가요..?

저만 안되나요..?

답변 4

·

답변을 작성해보세요.

0

OMG님의 프로필

OMG

2024.03.23

image프로젝트 코드 확인해보았습니다.

위의 두 개 라인에서
discountPolicy 를 discountPrice로 변경하시면 해결 됩니다.

discountPolicy란 이름으로 int 변수명과 DiscountPolicy인스턴스 명을 공유해서 발생한 현상이였습니다.

강의에서는 discountPrice란 변수명을 사용했습니다.

확인해주셔서 감사합니다!

0

삭제된 글입니다
OMG님의 프로필

OMG

2024.03.23

링크 접속이 안됩니다. 아래를 참고하여 링크있는 사용자가 볼 수 있도록 설정을 변경하셔야 합니다

image

image

0

삭제된 글입니다
OMG님의 프로필

OMG

2024.03.23

코드 일부만 봐서는 확인이 어려울 것 같아 실행가능한 프로젝트의 공유를 요청드렸습니다.

이전 댓글을 참고하여 프로젝트 폴더를 압축하여 업로드 후 링크를 공유해주시면 확인 후 답변드리겠습니다.

0

OMG님의 프로필

OMG

2024.03.23

안녕하세요. 현현님, 공식 서포터즈 OMG입니다.

도움을 드리고 싶지만 질문 내용만으로는 답변을 드리기 어렵습니다.

실제 동작하는 전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.

구글 드라이브 업로드 방법은 다음을 참고해주세요.

https://bit.ly/3fX6ygx


주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요


추가로 다음 내용도 코멘트 부탁드립니다.

1. 문제 영역을 실행할 수 있는 방법

2. 문제가 어떻게 나타나는지에 대한 상세한 설명


링크: 공식 서포터즈

링크: 자주하는 질문

감사합니다.