작성
·
317
답변 1
2
안녕하세요. carpediem7490님
제가 답변을 바로 드리는 것도 좋지만, 그러면 더 많은 것을 남겨가실 수 없으니 다음과 같이 해보시겠어요?
static은 꼭 알아야 하는 자바 기본 문법입니다. 이 부분을 공부해보시고 static이 어떤 역할을 하는지 정리해서 남겨주세요. 그러면 본인도 그 과정에서 많이 배우고 다른 분들에게도 도움이 될거에요^^
static으로 사용하는 이유는 모든 곳에서 공유하기 위해서 입니다. 여기서는 store가 마치 데이터베이스 처럼 사용되기 때문에 하나만 존재하고 공유되어야 합니다.
그런데 ItemRepository가 싱글톤으로 사용되기 때문에 꼭 static을 사용하지 않아도 같은 결과를 얻을 수 있습니다.
추가로 질문주신 클래스 ItemRepository안에 있는 인스턴스들(save, findById, findAll, update, clearStore)에 static멤버변수로 선언된 store과 sequence가 사용될 수 있어서 static이 선언된건가요~? 이 부분과는 무관합니다.
감사합니다.
항상 좋은 강의 감사드립니다! 궁금한 부분이 해당 댓글에 존재해서 여기에 글을 남깁니다.
static을 생략해도 같은 결과를 얻을 수 있다면, 왜 사용한지 궁금합니다.
모든 곳에서 공유하며 사용하는 한다는 것을 알려주기 위해(?) 명시한 것인지에 대한 의문이 듭니다.
static문법은 멤버변수로 쓰일 경우 모든 인스턴스에 공통적으로 사용되는 클래스 변수가 되는 걸로 알고있습니다. 아하! 그렇다면 클래스 ItemRepository안에 있는 인스턴스들(save, findById, findAll, update, clearStore)에 static멤버변수로 선언된 store과 sequence가 사용될 수 있어서 static이 선언된건가요~? 질문드리겠습니다!