Let1 [Kotlin] != null과 ?.let 퍼포먼스 차이가 있을까? 공부배경 코틀린을 사용하다보면 null체크를 스코프함수인 let을 통해 간편하게 체크하곤 합니다. 하지만 문득 if로 비교하는 것과 ?.let으로 비교하는 것에 차이는 없는 것일까 확인해보고 싶어서 각 코드를 바이트코드로 변환하여 비교해보고자 합니다. 바이트 코드 명령어 우선 바이트코드 변환에 앞서 명령어들이 어떤 의미를 가지는지 간단히 정리하겠습니다. aload : local variable 을 stack 에 push 한다 ldc : constant pool 에서부터 #index 에 해당하는 데이터를 가져온다 astore : local variable 에 값을 저장한다. invokespecial : instance Method 를 호출하고 결과를 stack 에 push한다. new : 새로운 객체를 생.. 2023. 2. 6. 이전 1 다음