조슈아 블로크 님의 "Effective Java" 책을 정리한 포스팅 입니다.1. equals()는 일반 규악을 지켜 재정의하라정의하지 않으면 참조 주소값만 가지고 동치여부를 따짐 재정의할 필요 없는 경우싱글턴 인스턴스일 경우상위 클래스에서 재정의한 equals()가 하위 클래스에도 동일AbstractSet - SetAbstractList - List 재정의할 필요 있는 경우상위 클래스가 equals()를 정의하지 않았을 경우값 클래스Map의 keySet의 원소 2. hashCode()도 재정의해라equals()만 재정의할 경우, hash값으로 동치성을 판별하는 컬렉션 사용 시 결과가 이상하게 나옴 hashCode() 규약hashCode()값을 생성할 때, 반드시 핵심 필드가 포함되어야 함hashCod..