JAVA equals, hashCode 오버라이드시 instanceof와 getClass 차이
·
개발 아카이브/JAVA
인텔리제이에서 equals()나 hashCode()를 생성할때 instanceof와 getClass 중에 어느걸 사용할꺼냐 선택하는 경우가 있다. instanceof 방식상속 관계를 허용.부모 클래스와 자식 클래스 간의 비교가 가능.더 유연하지만 대칭성(symmetry) 원칙을 위반할 수 있다.@Overridepublic boolean equals(Object obj) { if (this == obj) return true; if (!(obj instanceof MyClass)) return false; MyClass myClass = (MyClass) obj; // 필드 비교 로직 return Objects.equals(name, myClass.name);} getClass(..