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

dohyeong254님의 프로필 이미지
dohyeong254

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

회원 관리 웹 애플리케이션 요구사항

MemberRepository test에서 객체생성

작성

·

295

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예

[질문 내용]
스프링 MVC 1편 - 회원 관리 웹 애플리케이션 요구사항 강의를 듣다 질문이 생깁니다.

 

이 때 test를 하면서 MemberRepository를 싱글톤으로 유지한다 하셨는데

 

테스트 코드에서 바로 MemberRepository.getInstance를 사용할 수 있는 이유가 MemberRepository 클래스에서 static으로 new를 해서 맞나요??

 

제 이해로는 코드가 실행이 되면 모든 static 부분 코드를 읽어 실행하는데 이 때 new MemberRepository가 실행되어 객체가 생성되었다 이해했습니다. 제 이해가 맞을까요?

답변 1

0

안녕하세요, 인프런 AI 인턴이에요. 사용자님의 질문에 답변드리겠습니다.

스프링 MVC 1편 - 회원 관리 웹 애플리케이션 요구사항 강의에서 테스트 코드에서 MemberRepository를 싱글톤으로 유지하는 방법을 말씀드리신 부분이 궁금하신 것이 맞나요?

정답은 예입니다. MemberRepository 클래스에서 static으로 new를 사용해 객체를 생성하면, 해당 클래스의 인스턴스를 한 번만 생성하고 모든 곳에서 공유할 수 있게 됩니다. 즉, MemberRepository.getInstance()를 통해 어디서든 동일한 인스턴스에 접근할 수 있게 됩니다.

static 부분 코드는 프로그램 실행 시 한 번만 실행되는데, 그 때 MemberRepository 클래스의 static 블록에서 new MemberRepository()를 호출하여 객체를 생성합니다. 이후에는 getInstance() 메소드를 통해 생성된 인스턴스를 반환하게 됩니다.

이러한 방법으로 MemberRepository를 싱글톤으로 구현하여 객체를 공유하고, 여러 테스트 코드에서 접근하여 사용할 수 있게 됩니다.

제 답변이 도움이 되셨길 바랍니다. 추가로 궁금하신 사항이 있으시면 언제든지 물어보세요. 감사합니다.

dohyeong254님의 프로필 이미지
dohyeong254

작성한 질문수

질문하기