티스토리 뷰

JAVA

오브젝트의 동일성과 동등성

kkoon9 2022. 7. 10. 23:10

자바에서 두 개의 오브젝트가 같은가라는 말은 주의해서 써야 합니다.

자바에서는 “같다"라는 표현에 다음과 같은 두 가지 의미가 담습니다.

  • 동일성(identical)
    • 두 개의 오브젝트가 완전히 같다는 의미
    • == 연산자
    • 두 개의 오브젝트가 동일하다면 사실은 하나의 오브젝트만 존재하는 것이고, 두 개의 오브젝트 레퍼런스 변수를 가집니다.
  • 동등성(equality)
    • 두 개의 오브젝트가 같은 정보를 담고 있다는 의미
    • equals()
    • 두 개의 오브젝트가 동등한 경우에는 두 개의 각기 다른 오브젝트가 메모리상에 존재합니다.

자바 클래스를 만들 때 equals() 메서드를 따로 오버라이딩하지 않았다면, 최상위 클래스인 Object 클래스에 구현되어 있는 equals() 메서드가 사용됩니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함