Language/Java

TIL 테스트글

SpaceChae 2020. 12. 5. 09:59

값 타입: 인스턴스가 달라도 그 안에 값이 같으면 같은 것으로 봐 야 함 int a = 10; int b = 10; Address a = new

Address(“서울시”) Address b = new Address(“서울시”) Address address1 = new Address(“서울시”) Address address2 = new Address(“서울시”) address1 == address2 참조값이 달라서 false
  • 동일성(identity) 비교: 인스턴스의 참조 값을 비교, == 사용
  • 동등성(equivalence) 비교: 인스턴스의 값을 비교, equals()사용
  • 값 타입은 a.equals(b)를 사용해서 동등성 비교를 해야 함
  • 값 타입의 equals() 메소드를 적절하게 재정의(주로 모든 필드 사용)

Equals 의 기본은 == 비교, 따라서 equals 재정의

class Address { public boolean equals(Object o) { ... } }