Object Class(2) - equals() method

박화목·2024년 1월 10일

Java

목록 보기
2/3

equals() method

  • 형태
public boolean equals(Object obj){...}

매개 타입 : Object로서, 모든 객체가 매개 값으로 대입이 가능
리턴 타입 : boolean 타입. 같다면 true, 아니라면 false를 리턴한다.

@Override
public boolean equals(Object o) {
	// default equals 메소드
	if (this == o) return true;
	if (o == null || getClass() != o.getClass()) return false;
	// 클래스에서 나온 인스턴스 필드 멤버 값비교 : 값이 같으면 주소가 달라도 true 리턴
	ObjectTest that = (ObjectTest) o;
	return Objects.equals(main, that.main) && Objects.equals(address, that.address);
}
  • default euqals method는 두 객체의 메모리 주소값을 비교한다. (this == o)
  • 주로 오버라이딩 되어 사용되어지는데, 클래스에서 나온 인스턴스들의 필드 멤버의 값이 같으면 true를 리턴한다.
  • String 타입의 데이터 비교에서는 객체의 메모가 주소값이 달라도 문자열이 같다면 true를 리턴하는데, 이는 오버라이딩 되어 사용된 것이다.
profile
코딩 재미따

0개의 댓글