작성
·
473
·
수정됨
1
안녕하세요, MemberRespository
클래스에서 store
필드가 왜 static 인지 궁금합니다.
이전에 올려주신 답변글 중 아래 링크를 이미 읽은상태에서 질문 드립니다.
https://www.inflearn.com/questions/240845/memorymemberrepository-line-number-7
저는 store
가 인스턴스 필드여도 괜찮지 않나라고 생각했는데요, 그 이유는
MemberRepostiory
는 스프링 컨테이너에 의해 싱글톤으로 관리된다. 즉 애플리케이션 전체에서 store
역시 하나만 존재한다.
다른 사용자가 접근해도 같은 MemberRepository
를 사용하고 있으니 결국 모든 사용자가 같은 store
를 사용하게 된다.
빈으로 관리되므로 프로덕션 코드에서 new MemberRepository()
를 사용할 일이 없다.
라고 생각했기 때문입니다. 혹시 제가 어떤 걸 놓치고 있는 건지 알려주실 수 있을까요?
항상 영한님과 서포터님께 감사드립니다 🙇♂️
답변 1
1
안녕하세요. andthensome님, 공식 서포터즈 David입니다.
아래 글 답변을 보시면 말씀하신 대로 싱글톤으로 사용될 때에는 static을 사용하지 않아도 됩니다.
다만, store가 마치 데이터베이스 처럼 사용되기 때문에 하나만 존재하고 공유
를 명시적으로 드러내기 위해 static을 사용하신 것 같습니다.
static으로 사용하는 이유는 모든 곳에서 공유하기 위해서 입니다. 여기서는 store가 마치 데이터베이스 처럼 사용되기 때문에 하나만 존재하고 공유되어야 합니다.
https://www.inflearn.com/questions/268668
감사합니다.