목록equals (1)
공부하는 스누피
[Java] equals()와 hashCode()
equals 메서드는 Object 클래스에 정의되었지만, 객체 인스턴스 간 논리적 동치를 확인하기 위해 종종 재정의된다. 이 메서드를 재정의한다면 반드시 hashCode 메서드도 재정의해야 한다. hash를 사용하지 않는 클래스라도 Hash 기반의 자료구조의 요소일 경우 hashCode를 사용하게 되기 때문이다. Object 클래스에서는 equals 메서드를 단순 주소값 비교로만 사용한다. ==와 같은 역할을 한다고 보면 된다. Object를 상속받은 String같은 클래스의 경우 부모 클래스의 equals 메서드를 그대로 쓸 수는 없다. "hi"와 "hi"가 논리적으로는 같은 문자열인데 다른 String 인스턴스 변수에 들어 있으면 주소값을 비교해 다른 객체라는 결과가 나와버린다. 그래서 String뿐..
Languages/Java
2021. 2. 27. 00:05