a?.equals(b) ?: (b === null)
내부적으로 equals 를 사용합니다. java 의 equals 와 같이 값을 비교합니다.
같은 객체를 가리키고 있는지 주소를 비교합니다.
primitive type 으로 선언된 변수는 ==
를 통해 값을 비교하고, reference type 으로 선언된 변수는 ==
를 통해 주소를 비교합니다. 주소가 같으면 값 또한 같으므로 어떤 타입이든 ==
로는 같은 값인지를 알 수 있습니다.
reference type 의 객체 값이 동일한지 파악하기 위해선 equals 를 사용해야 합니다.