강의

멘토링

커뮤니티

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

nada03yo님의 프로필 이미지
nada03yo

작성한 질문수

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

정리

save() 메서드 문의

작성

·

21

0

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

[질문 내용]

private static final Map store = new HashMap<>();
Item items = store.put(item.getId(), item);

return items;

이렇게 하면 항상 반환값이 기존값 반환, 없으면 null이 나올 가능성이 있나요?

그래서

store.put(item.getId(), item);

return item; 이런식으로 코드를 작성하는건가요?

영한님강의를 다 샀는데 혹시 해당 하는 내용이 어떤 강의 어디쯤 나오는지 알수 있을까요? 그부분 다시 보충 해서 공부를 해야 할거 같아서요

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. nada03yo님.

질문해주신 내용은 Java의 Map 인터페이스의 put 메서드를 다루고 있는데요, put 메서드는 지정된 키에 대해 맵이 이전에 매핑된 값을 반환하며, 엔트리에 없는 경우에는 null을 반환합니다. 따라서 Map에 새로운 항목을 추가할 때, 기존 값이 있는 경우 그 값을 반환하고, 없으면 null을 반환하는 것이 맞습니다.

그래서 보통 store.put(item.getId(), item); 이후 return item;처럼 새로 추가한 item을 반환하는 것이 일반적인 패턴입니다. 이렇게 하면 최신의 값 객체를 반환할 수 있어 활용도가 높습니다.

강의와 관련해서는, 이런 내용은 보통 데이터 저장소를 다루는 부분에서 설명됩니다. 스프링 MVC와 저장소 패턴을 배울 때, 주로 처음 부분의 Repository 패턴이나 데이터 저장 방법에 대해 다룰 것입니다. “스프링 입문 - 스프링 부트, 웹 MVC, DB 접근 기술” 강의를 다시 한 번 참고하시면 더 구체적으로 나와 있을 것으로 사료됩니다.

관련 질문들이 여러 있습니다. 참고하실 만한 유사한 질문 링크들을 확인해보세요:
1. itemRepository.save(item); 부분에서 궁금한 것이 있습니다 ! - 여기서 ID가 부여되는 시점과 반환 객체에 대한 설명이 자세히 나옵니다.
2. Repository - 메모리 상에서의 DB 구현에 관련된 답변이 있으며, 맵의 put 메소드가 어떻게 동작하는지 간단히 설명이 되어 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

nada03yo님의 프로필 이미지
nada03yo

작성한 질문수

질문하기