[Lombok] EqualsAndHashcode 어노테이션
이건 클래스에 equals와 hashcode 메서드를 자동구현해주는 어노테이션이다.
equals나 hashcode는 구현하지 않는다면 Object의 버전을 사용하게 되는데, 이놈은 값이 아닌 참조값으로 비교와 해시값을 뽑아낸다.
기본적으로, 아래와 같이 같은 필드값들을 가진 Point 객체를 두개 생성한다면. 우리는 두개의 값이 완전히 같다고 가정할 수 있다. 따라서 비교를 수행할 경우에도 true가 떠야 하며,
같은 값이므로 같은 해시값을 산출해야 한다.
하지만 다르게 나온다.
이 문제를 해결하려면 equals와 hashcode를 직접 오버라이딩해줘야 하는데, 롬복의 어노테이션을 활용하면 편리하게 처리할 수 있다.
이렇게, 논리적으로 잘 동작하는 것을 확인할 수 있다.