아이템 [10] - equals는 일반 규약을 지켜 재정의하라
1. equals를 재정의 하면 안되는 경우 equals는 재정의하기 쉬워보이지만 곳곳에 함정이 있다. 문제를 회피하는 가장 쉬운 길은 아예 재정의하지 않는 것이다. ㄱ. 각 인스턴스가 본질적으로 고유할 때 값 표현 객체가 없을 때를 이야기 하는 것 같다. Bean에 등록해두는 객체 repository, controller, service 등이 이에 해당할 것 같다. DTO, Domain 객체는 값 검증이 필요할 수 있으니 equals를 재정의 해야할 수도 있다. ㄴ. 인스턴스의 논리적 동치성(logical equality)를 검사할 일이 없을 때 논리적 동치성 검사의 1가지 : Pattern의 인스턴스가 같은 정규 표현식을 나타내는 지 검사 ㄷ. 상위 클래스에서 재정의한 equals가 하위 클래스에도 ..
Reading Record/이펙티브자바
2020. 1. 26.