String 인스턴스의 값을 비교하려면, 동등성을 비교하는 메서드
equals() 를 사용해야 한다. ('동일성' 은 같은 인스턴스를 참조함을 의미. 이것과 다름)
equals()메서드는 Object클래스에서 상속된 것이므로, 오버라이딩 가능하며
클래스의 동등성 비교에 사용한다.
이때 hashCode() 메서드도 함께 오버라이딩 해주는 것이 좋다.
: 컬렉션 중 Hash로 시작하는 컬렉션, HashMap, HashTable, HashSet 은 동일한 값을 비교하기 위해
hashCode메서드와 equals메서드를 모두 사용한다.
만약 equals메서드만 오버라이딩 한다면, hash로 시작하는 컬렉션에서 같은 값으로 판단해야 할 인스턴스들이
마치 다른 인스턴스인 것처럼 동작할 것이다.
'JAVA' 카테고리의 다른 글
자바8 이상의 주요 문법 (0) | 2024.11.01 |
---|---|
컬렉션 : List (0) | 2024.11.01 |
다형성 : 상속과 인터페이스 (0) | 2024.11.01 |
Cache, RAM, HDD/SSD (0) | 2024.10.14 |
JVM의 영역별 저장 (0) | 2024.06.29 |