[개발] - Java/Mega
<보충> Day25, equals() 개념
완벽한 장면
2023. 5. 4. 11:09
동등성 비교
어떤 상황에서 동등성 비교가 필요할 수밖에 없을까?
일치여부는 == 동일성 비교로 그냥 정리할 수 있는 것 아닌가?
일단 == 비교는 물리적으로 위치가 완전히 똑같은지를 비교하는 것.
new가 두 번 되었으면 이 두개는 절대로 == 일 수가 없다.
=> 객체가 매번 생성되는 상황에서는 객체간에 == 비교를 하면 항상 실패한다는 이야기.
ex. 데이터베이스
어느날 이 주문을 조회할 일이 필요해졌다고 치면,
데이터베이스의 row를 읽어서 애플리케이션으로 가져와야죠.
가져오는 역할을 하는 중간단계의 누군가가 있을 것인데,
얘가 하는 역할이 row를 읽어서 row와 매핑될 수 있게 new order를 만든다!
=> 이 말은,
똑같은 정보라고 하더라도 읽을 때마다 매번 new가 필요하다는 뜻.
어쩔 수 없이 이런 경우처럼 의미적으론 똑같은 정보지만 읽을 때마다 객체가 물리적으로 달라지는 경우를 고려해
equals() 비교가 필요하게 된 것.
728x90
반응형