java 강의에서 == 연산자에 대해, 이 글에서 언급을 했었습니다. 그런데, 질문을 받고 답변을 하다 보니, 헷갈리는 점이 있었습니다. 객체에서 다른 객체를 참조하는데 a == b인 경우가 있을까? 사실, 이에 대한 답은 문서에 있습니다. Object 클래스에 있는 equals 메서드에 나와 있는데요. 다른 부분은 없고, 초록색 부분과 노란색 부분만 읽어보시면 됩니다. x와 y가 같은 오브젝트를 참조한다를 명제 Q, Object 클래스의 equals 메소드가 true를 리턴한다를 명제 P라 합시다. if and only if는 필요 충분 조건을 나타냅니다. 즉, 저 메소드가 참 값을 리턴했다는 것은, x와 y가 같은 객체를 참조했다는 것입니다. 이런 경우에만 참이 된다는 소리입니다. x == y인데 다..
동등성 검색 결과
해당 글 2건
java 다른 객체를 참조하는데 ==이 참인 경우가 있을까요?
코딩/Java
2021. 3. 21. 01:16
java hashCode vs identityHashcode : 이 둘은 무엇이 다를까요?
Java hashCode랑 identityHashCode의 차이점이 무엇일까요? 그에 대해서 답을 하기 전에, 간단한 실험을 하고 넘어갑시다. identityHashCode는 객체가 다르면, 무조건 다른 값을 리턴할까요? 즉, 이 메서드의 리턴 값이, 객체의 고윳값이 될 수 있을까요? 사실 저는 그런 줄 알았습니다. 100만개짜리 Object 객체 배열을 만들었습니다. 그리고, 100만개의 Object 객체를 만들었습니다. 그리고, 객체 arr[i]의 identityHashCode 값을 treeset에다가 넣었습니다. 만약에, 객체 각각의 identityHashCode가 고유하다면, treeset에 들어간 원소 갯수는 100만개였을 겁니다. 그런데 실제로는 999768개입니다. TreeSet은 기본적으로..
레퍼런스/분석
2019. 7. 1. 00:15
최근댓글