작성
·
134
0
좀 벗어난 자바의 기본기 질문입니다....ㅜㅜ
아래 2번코드 해시맵에 대해서 왜 static 으로 선언해주는지 잘 모르겠습니다.
static은 객체를 만들필요 없이 쓸수있는 변수인데 의존관계 주입으로 구현체를 주입받은 경우에는 1번코드의 memberRepository 가 객체로 취급되는게 아닌가요? 그러면 static이 없어도 쓸 수 있는 것아닌가요? 해보니까 static 없이는 쓸 수가 없어서 질문드립니다... 그리고 private static 가 정확히 뭘 의미하는지 모르겠습니다. 분명 같은 클래스내부에서만 쓸수있는 private 와 외부에서 객체생성없이 쓸 수 있는 static 이 같이 쓰인다는게 말이 안되는거 같습니다...
public Order createOrder(Long memberId, String itemName, int itemPrice) {
Member member= memberRepository.findById(memberId);
int discountPrice = discountPolicy.discount(member, itemPrice);
private static Map<Long, Member> store = new HashMap<>();