인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

유진이님의 프로필 이미지
유진이

작성한 질문수

스프링 핵심 원리 - 기본편

회원 도메인 개발

MemoryMemberRepository에 store를 static으로 선안하는 이유가 뭐죠?

작성

·

399

1

static이라는게 다른 클래스에서도 객체 생성하지 않고도 해당 변수를 사용할 수 있게 만드는 것 아닌가요? 제 생각에는 저장소를 Repository 클래스에서만 쓸거 같은데 왜 static으로 선언한건지 궁금합니다. 

 

추가로 

MemberServiceImpl에서 repository 변수를 final로 만든 이유도 궁금합니다. 

답변 1

0

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


아래 잘 설명된 링크를 참고해주세요 :)

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


감사합니다.

유진이님의 프로필 이미지
유진이
질문자

답변 감사드립니다. 

쉽게말해 싱글톤을 사용하는것 처럼 메모리 디비 하나를 계속 공유 해야해서 static으로 생성해서 단 하나만 생성되게 만든건가요?  

추가적으로 final로 선언한 이유에 대한 궁금증도 도와주실수 있을까요? ㅠ

쉽게말해 싱글톤을 사용하는것 처럼 메모리 디비 하나를 계속 공유 해야해서 static으로 생성해서 단 하나만 생성되게 만든건가요?

=>네 맞습니다.

추가적으로 final로 선언한 이유에 대한 궁금증도 도와주실수 있을까요? ㅠ

=> Final키워드 사용은 불변 객체로 선언하기 위함입니다. 생성자 주입 이후에 변경이 불가능하도록 하여 추후 변경 여지를 막기 위함으로 보시면 될 것 같아요.

유진이님의 프로필 이미지
유진이
질문자

도움 주셔서 감사합니다.

유진이님의 프로필 이미지
유진이

작성한 질문수

질문하기