코드 그라데이션

<보충> Day25, equals() 개념 본문

Java/Mega

<보충> Day25, equals() 개념

완벽한 장면 2023. 5. 4. 11:09

동등성 비교

어떤 상황에서 동등성 비교가 필요할 수밖에 없을까?

일치여부는 == 동일성 비교로 그냥 정리할 수 있는 것 아닌가?

 

일단 == 비교는 물리적으로 위치가 완전히 똑같은지를 비교하는 것.

 

new가 두 번 되었으면 이 두개는 절대로 == 일 수가 없다.

=> 객체가 매번 생성되는 상황에서는 객체간에 == 비교를 하면 항상 실패한다는 이야기. 

 

ex. 데이터베이스

 

어느날 이 주문을 조회할 일이 필요해졌다고 치면,

데이터베이스의 row를 읽어서 애플리케이션으로 가져와야죠.

가져오는 역할을 하는 중간단계의 누군가가 있을 것인데, 

얘가 하는 역할이 row를 읽어서 row와 매핑될 수 있게 new order를 만든다!

=> 이 말은,

     똑같은 정보라고 하더라도 읽을 때마다 매번 new가 필요하다는 뜻.

 

어쩔 수 없이 이런 경우처럼 의미적으론 똑같은 정보지만 읽을 때마다 객체가 물리적으로 달라지는 경우를 고려해

equals() 비교가 필요하게 된 것.

 

728x90
Comments