!! (1) 썸네일형 리스트형 코틀린(Kotlin) - 타입 시스템 as?, !!, let, lateinit 안전한 캐스트 "as?" 기본적으로 "as" 연산자는 대상 값을 as로 지정한 타입으로 캐스트 하며, 해당 타입으로 바꿀 수 없으면 ClassCastException이 발생하게 됩니다. 이럴 경우 is 연산자를 통해 대상 값이 해당 타입으로 변환 가능한 타입인지 체크해야 하지만 코틀린에서는 훨씬 더 간결한 기능으로 "as?" 연산자를 제공합니다. "as?" 연산자는 어떤 값을 지정한 타입으로 캐스트를 하고, 만약 대상 타입으로 캐스트 할 수 없으면 null을 반환하게 됩니다. /* 안전한 캐스트를 사용해 equals 구현하는 예제 */ class User(val id: String) { override fun equals(o: Any?): Boolean { val otherUser = o as? User.. 이전 1 다음