재귀 equals(==) 호출을 보고합니다.

Kotlin에서 ==equals 메서드를 내부에서 호출하여 객체 값을 비교합니다. 반면 ===는 참조에 따라 객체를 비교하며

=== equals 메서드 구현 시 더 자주 사용됩니다. 그러나 잘못하여 =====로 혼동될 경우 무한 재귀가 발생할 수 있습니다.

예:


  class X {
      override fun equals(other: Any?): Boolean {
          if (this == other) return true
          return false
      }
  }

빠른 수정을 적용한 후:


  class X {
      override fun equals(other: Any?): Boolean {
          if (this === other) return true
          return false
      }
  }