인프런 커뮤니티 질문&답변
자바 map으로 put으로 넣을시 get으로 하는게 좋은 선택인지, 그냥 타자로 치는게 좋은 선택인지?
해결된 질문
작성
·
49
·
수정됨
0
========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (모르겠음)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
안녕하세요. 강의를 보다가 궁금증이 생겨서 질문을 올립니다.
강의 도중에 userA,userB를 map에 넣기 위해서, key값으로 String 으로 "userA", "userB"로 입력 하시 는 것을 보았습니다.(사진참조)

근데 어떤 때에는 get으로 값을 넣는 경우도 있는 것을 생각 할수 있었 습니다. (추가1: getName으로 넣어도 되는거 아닌가?라는 생각 때문에 다른 강의들에서 레파지토리는 어떻게 했는지 살펴봄)
(예전 강의에서 save할때)

그래서 어떤 것이, 더 나은 선택 인지, 저는 모르겠습니다.
그래서 어떤 때에는 get으로 값을 써야 하고,
어떤 때에는 직접 타자로 값을 쳐서 입력해야 하는지 알고 싶습니다.
답변 부탁 드립니다.
퀴즈
타임리프의 주된 역할은 무엇일까요?
클라이언트에서 HTML 동적 변경
서버에서 데이터 조합 HTML 생성
데이터베이스 스키마 관리
백엔드 API 엔드포인트 정의
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 생각하는자님.
Map 사용 시 put과 get 메서드를 어떻게 활용해야 하는지에 대해 질문을 주셨네요. 이는 대부분의 개발 상황에서 중요한 부분입니다.
String Key로 직접 입력: 예를 들어
map.put("userA", userAObject);처럼 키 값을 명확히 알고 있고, 해당 키를 사용하여 데이터를 넣거나 참조해야 하는 것이 확실한 경우에는 직접 문자열로 입력하는 것이 적절합니다. 이는 코드가 간결하고 의도를 명확하게 보여줄 수 있습니다. 그러나 키 값을 하드코딩하면 유지보수성이 떨어질 수 있기 때문에, 키 값을 상수 형태로 관리하거나 주석으로 설명을 추가하는 것이 좋습니다.동적 키 값 사용: 데이터에 동적으로 접근해야 하거나, 키 값이 상황에 따라 달라질 수 있는 경우에는
get메서드를 활용하여 값을 관리하는 것이 좋습니다. 예를 들어, 사용자 ID를 키로 사용하여map에 넣고get으로 가져오는 경우입니다. 이렇게 하면 유연하게 데이터를 처리할 수 있습니다.
예제에 있는 MemoryMemberRepository처럼 특정 식별자(ID)를 통해 객체를 저장하고, 이후에 조회하는 패턴이 필요하다면 get과 put 메서드를 함께 활용하여 동적으로 데이터를 처리하는 것이 적합합니다.
위 두 경우는 코드 설계에 따라 달라질 수 있으며, 일반적으로 하드코딩된 문자열보다는 상수를 활용하여 유지보수성을 높이고, 동적으로 값을 사용할 경우 get과 같은 메서드를 활용하는 것이 좋은 방법입니다.
관련하여 더 많은 정보를 원하시면 아래의 답변들을 참조하실 수 있습니다:
- store를 Map으로 지정한 이유
- get()을 하는 이유
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





