equals 와 hashCode

김예지·2022년 12월 29일
0

두개의 객체를 비교할 때 equals를 사용하게 되면 return (this == obj) 가 출력이 된다
그래서 서로 같은 값을 비교하기에는 어려움이 있다 하지만 오버라이딩을 통하여 두 객체의 값을 비교할 수 있다

public boolean equals(Object obj){
	if(obj instanceof 클래스명) return 멤버변수명 == ((클래스명)obj).멤버변수명; // 형변환 필수
    else return false // 타입이 다르면 비교 대상이 아니다
}

// 객체 비교시 true 가 나오면 hashCode의 값도 같아야 한다 그러므로 hashCode까지 오버라이딩 시켜준다

 @Override
public int hashCode() {
	return Objects.hash(멤버변수명); // 매개변수 갯수제한은 없음
}
profile
나만의 방식을 찾아가는 신입신입 개발자

0개의 댓글