ConcurrentHashMap 원자 메서드는 의도에 맞는 하나의 경계를 제공한다
수동 get-then-put 대신 반환값과 함수 호출 규칙을 이해해 선택합니다.
| 의도 | 메서드 | 결과 |
|---|---|---|
| 없을 때만 저장 | putIfAbsent | 기존값 또는 null |
| 없을 때 계산 | computeIfAbsent | 최종값 |
| 항상 재계산 | compute | 새 값·삭제 |
| 누적 결합 | merge | 기존+입력 |
| 원자 교체 | replace | 조건부 변경 |
핵심: mapping 함수는 재호출 가능성을 고려해 짧고 부수 효과 없이 유지합니다.