두개의 객체를 비교할 때 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(멤버변수명); // 매개변수 갯수제한은 없음
}