Item10 - equals는 일반 규약을 지켜 재정의하라(1)
3장. 모든 객체의 공통 메서드 - Object는 객체를 만들 수 있는 구체 클래스지만 기본적으로는 상속해서 사용하도록 설계되었다. Object 에서 final이 아닌 메서드(equals, hashCode, toString, clone, finalize)는 모두 재정의를 염두에 두고 설계된 것이라 재정의 시 지켜야 하는 일반 규약이 명확히 정의되어 있다. 메서드를 잘못 구현하면 대상 클래스가 이 규약을 준수한다고 가정하는 클래스(HashMap, HashSet)를 오동작하게 만들 수 이다. 이번 장에서는 item8에서 다룬 finalize메서드를 제외하고 어떻게 공통 메서드를 재정의하는지를 다룬다. equals는 재정의 하지 않는 것이 최선!! 다음과 같은 경우는 재정의 할 필요가 없다. 1. 각 인스턴스..
2023.11.20