-
hashCode(), toString()공부/Java 2024. 3. 25. 22:54
hashcode(), toString()
hashCode()
- 객체의 해시코드를 반환하는 메서드
※ 해시코드 값은 정수값임 (해싱 알고리즘)
- Object 클래스의 hashCode()는 객체의 주소를 int로 변환해서 반환
- equals()를 오버라이딩하면, hashCode()도 오버라이딩해야 한다.
equals()의 결과가 true인 두 객체의 해시코드는 같아야 하기 때문이다.
이클립스는 Source - Generate hashCode() and equals()... 기능을 통해 자동으로 오버라이딩이 가능하다.
※ System.identityHashCode(Object obj)는 Object클래스의 hashCode()와 동일하다.
객체마다 다른 해시코드를 반환한다.
오버라이딩하기 전 값을 찾을 때 주로 사용한다.
tostring()
- 객체를 문자열(string)으로 변환하기 위한 메서드
※ 객체는 iv의 집합이므로, 객체를 문자열로 변환한다는 것은 결국 iv의 값을 문자열로 변환한다는 것
toString() 정의
public String toString() { return getClass().getName()+"@"+Integer.toHexString(hashCode()); }
'공부 > Java' 카테고리의 다른 글
String 클래스의 생성자와 메서드 (0) 2024.03.27 String 클래스, 문자열 비교, 빈 문자열 (0) 2024.03.26 Object 클래스와 equals() (0) 2024.03.24 연결된 예외 (chained exception) (0) 2024.03.23 사용자 정의 예외 만들기, 예외 되던지기 (0) 2024.03.22