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

andthensome님의 프로필 이미지

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

회원 가입

HashMap 인스턴스를 static 으로 관리하는 이유가 궁금합니다.

23.01.05 21:42 작성

·

471

·

수정됨

1

안녕하세요, MemberRespository 클래스에서 store 필드가 왜 static 인지 궁금합니다.

이전에 올려주신 답변글 중 아래 링크를 이미 읽은상태에서 질문 드립니다.

https://www.inflearn.com/questions/240845/memorymemberrepository-line-number-7

저는 store 가 인스턴스 필드여도 괜찮지 않나라고 생각했는데요, 그 이유는

  1. MemberRepostiory 는 스프링 컨테이너에 의해 싱글톤으로 관리된다. 즉 애플리케이션 전체에서 store 역시 하나만 존재한다.

  2. 다른 사용자가 접근해도 같은 MemberRepository 를 사용하고 있으니 결국 모든 사용자가 같은 store 를 사용하게 된다.

  3. 빈으로 관리되므로 프로덕션 코드에서 new MemberRepository() 를 사용할 일이 없다.

라고 생각했기 때문입니다. 혹시 제가 어떤 걸 놓치고 있는 건지 알려주실 수 있을까요?

항상 영한님과 서포터님께 감사드립니다 🙇‍♂️

답변 1

1

David님의 프로필 이미지

2023. 01. 06. 09:35

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

아래 글 답변을 보시면 말씀하신 대로 싱글톤으로 사용될 때에는 static을 사용하지 않아도 됩니다.

다만, store가 마치 데이터베이스 처럼 사용되기 때문에 하나만 존재하고 공유를 명시적으로 드러내기 위해 static을 사용하신 것 같습니다.

static으로 사용하는 이유는 모든 곳에서 공유하기 위해서 입니다. 여기서는 store가 마치 데이터베이스 처럼 사용되기 때문에 하나만 존재하고 공유되어야 합니다.

https://www.inflearn.com/questions/268668

감사합니다.