값 타입 : 인스턴스가 달라도 그 안에 값이 같으면 같은 것으로 봐야 함
- 동일성 비교 : 인스턴스의 참조 값을 비교, == 사용
- 동등성 비교 : 인스턴스의 값을 비교, equals() 사용
- 값 타입은 a.equals(b)를 사용해서 동등성 비교를 해야 함
- 값 타입의 equals() 메소드를 적절하게 재정의 (주로 모든 필드 사용)
예시
public static void main(String[] args){
int a = 10;
int b = 10;
System.out.println("a == b: " + (a==b));
Address address1 = new Address("city", "street", "10000");
Address address2 = new Address("city", "street", "10000");
System.out.println("address1 == address2: " + (address1 == address2));
System.out.println("address1 equals address2: " + (address1.equals(address2)));
}
실행결과
정리
값 타입의 비교는 항상 equals 를 써야된다!!!!
'Spring > Spring JPA' 카테고리의 다른 글
실습 6 - 값 타입 매핑 (0) | 2024.03.29 |
---|---|
값 타입 컬렉션 (0) | 2024.03.29 |
값 타입과 불변 객체 (0) | 2024.03.22 |
임베디드 타입 (0) | 2024.03.22 |
값 타입 (0) | 2024.03.22 |