Posts [자바 ORM 표준 JPA 프로그래밍-기본편] 값 타입의 비교
Post
Cancel

[자바 ORM 표준 JPA 프로그래밍-기본편] 값 타입의 비교

본 포스팅은 인프러의 JPA 기본편을 수강하고 정리하는 내용입니다.


  • 값 타입: 인스턴스가 달라도 그 안에 값이 같으면 같은 것으로 봐야 함
1
2
3
4
5
6
7
8
int a = 10;
int b = 10;

a == b ? => true!

Address a = new Address(“서울시”)
Address b = new Address(“서울시”)
a == b ? => false! (당연히 참조값이 다르므로)
  • 동일성(identity) 비교: 인스턴스의 참조 값을 비교, == 사용
  • 동등성(equivalence) 비교: 인스턴스의 값을 비교, equals() 사용
  • 값 타입은 a.equals(b)를 사용해서 동등성 비교를 해야 함
  • 값 타입의 equals() 메소드를 적절하게 재정의(주로 모든 필드 사용)
    • 참고로 equals() 만들때 왠만하면 자동으로 해주는걸 써야한다.
    • hascode() 도 무조건 같이 구현해줘야함, 그래야 자바 컬렉션에서 효율적으로 사용할 수 있음(HashMap 등)
This post is licensed under CC BY 4.0 by the author.

[자바 ORM 표준 JPA 프로그래밍-기본편] 값 타입과 불변 객체

[자바 ORM 표준 JPA 프로그래밍-기본편] 값 타입 컬렉션