목록 보기
코드 품질 개선 기법 22편: To equal, or not to equal
백엔드

코드 품질 개선 기법 22편: To equal, or not to equal

라인
라인
2025년 11월 7일

두줄요약

`equals`를 일부 속성만으로 정의하면 예상치 못한 버그가 생길 수 있음을 설명했습니다. 동일성인지 등가성인지 목적을 먼저 정하고, 필요한 부분은 별도 함수로 분리해야 합니다.

핵심 내용

  • equals는 동일성(identity) 또는 모든 속성을 포함한 등가성(equivalence) 중 하나를 나타내도록 정의하는 것이 핵심
  • 일부 속성만 비교하는 equals 구현은 observable 갱신 누락 같은 버그를 유발할 수 있어 별도 비교 함수로 분리 필요
  • Kotlin data class의 기본 비교 범위와 캐시 같은 예외적 무시 사례, 유리수 예시를 통해 표현 목적에 맞는 정의가 중요

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...