L
-
아이템1 - 가변성을 제한하라Kotlin/Effective Kotlin 요약 2022. 12. 26. 00:01
Kotlin에서는 read-write property인 var을 사용하거나, mutable 객체를 사용하면 상태를 가질 수 있습니다. var a = 10 var list: MutableLost = mutableListOf() 상태를 가지는 경우는 양날의 검입니다. 장점 : 시간의 변화에 따라서 변하는 요소를 표현할 수 있다. 단점 : 상태를 적절하기 관리하는 것은 어렵다 1. 어디서 변경이 일어났는지 추적하기 힘들다. 2. 어떤 값을 가지고 있는지 알아야 코드의 실행을 예측할 수 있습니다 (예를 들어 분기문이 있을 때) 3. 멀티스레드 프로그래밍일 때는 적절한 동기화가 필요합니다. (Lock, 원자적 연산 등) 4. 테스트하기 어렵습니다 (모든 상태를 테스트해야 합니다, 상태가 늘어나면 더 힘들어집니다)..