equals()(2)
-
[Java] equals()와 hashCode()를 같이 재정의 해야하는 이유
요즘 모의 면접 스터디를 진행하고 있습니다. 이번주 자바 관련 질문을 주고받을 때 객체의 동일성과 동등성에 대한 질문에 저는 이렇게 대답했습니다. 🤔 객체의 동일성과 동등성의 개념에 대해 아시나요? "동일성은 두 객체가 정말 동일한 객체인지, 즉 같은 메모리 주소를 가졌는지의 여부를 확인합니다. 동등성은 두 객체의 값이 같은지 비교합니다. 자바에서는 ==연산자를 통해서 두 객체의 동일성을 비교할 수 있고, equals()를 통해 두 객체의 동등성을 비교할 수 있습니다. 여기서 주의할 점은 equals()를 따로 오버라이드 하지 않으면 두 객체의 hashCode() 값을 비교하게 되므로 두 객체의 equals(), hashCode() 모두 오버라이드 해야 합니다." 그 당시에는 이렇게 답변을 하고 마무리를..
2023.11.20 -
Arrays 클래스
자바의 정석 Chapter 소제목 11. 컬렉션 프레임웍(Collections Framework) 1.6 Arrays Arrays클래스는 배열을 다루기 편리한 메서드를(static) 제공합니다. |참고| Arrays에 정의된 메서드는 모두 static메서드입니다. 같은 기능의 메서드가 배열의 타입만 다르게 오버로딩되어 있어서 많아 보이지만 실제로는 그리 많지 않기에 이 장에서는 int 배열인 메서드에 대한 사용법만 살펴보도록 하겠습니다. 배열의 출력 toString( ), deepToString( ) 배열의 모든 요소를 문자열로 출력할 수 있습니다. toString( )은 1차원 배열에서 deepToString( )은 2 ~ 다차원 배열에서 사용가능합니다. 1차원 배열 Arrays.toStirng(arr..
2022.03.28