Summary
Java의 java.util.concurrent.atomic.AtomicInteger/AtomicBoolean 대신 Kotlin stdlib의 kotlin.concurrent.AtomicInt/AtomicBoolean 사용을 고려
Background
- Kotlin 2.1부터
kotlin.concurrent 패키지에 atomic 타입들이 추가됨
- 현재 프로젝트는 Kotlin 2.2.21 사용 중
- 별도 의존성 없이 Kotlin stdlib만으로 사용 가능
Current Usage
core/network/.../BinanceWebSocketClient.kt
AtomicInteger (request ID 카운터)
AtomicBoolean (연결 상태)
Proposed Change
// Before
import java.util.concurrent.atomic.AtomicBoolean
import java.util.concurrent.atomic.AtomicInteger
// After
import kotlin.concurrent.AtomicInt
import kotlin.concurrent.AtomicBoolean
Pros
- Kotlin-idiomatic API
- Java 의존성 제거로 코드 일관성 향상
- 향후 Kotlin Multiplatform 전환 시 호환성
Cons
- 기능적 차이 없음
- API가 약간 다름 (get() → value, set() → value =)
Summary
Java의
java.util.concurrent.atomic.AtomicInteger/AtomicBoolean대신 Kotlin stdlib의kotlin.concurrent.AtomicInt/AtomicBoolean사용을 고려Background
kotlin.concurrent패키지에 atomic 타입들이 추가됨Current Usage
core/network/.../BinanceWebSocketClient.ktAtomicInteger(request ID 카운터)AtomicBoolean(연결 상태)Proposed Change
Pros
Cons