728x90
- 아이템 1 - 가변성을 제한하라 와의 연관된 아이템
- immutable 컬렉션보다 mutable 컬렉션이 좋은 점은 성능적인 측면에서 더 빠르다는 것이다.
- immutable 컬렉션에 요소를 추가하려면, 새로운 컬렉션을 만들면서 여기에 요소를 추가해야 합니다.
- plus 함수는 새로운 객체를 반환합니다.
- 이처럼 컬렉션을 복제하는 처리는 비용이 굉장히 많이 드는 처리입니다.
- 이러한 복제 처리를 하지 않는 mutable 컬렉션이 성능적 괌점에서 좋습니다.
정리
- 가변 컬렉션은 일반적으로 추가 처리가 빠르다.
- item 1: 가변성을 제한하라 에서 언급한 immutable 컬렉션은 안전하다 측면에서는 좋다.
- 일반적인 지역 변수는 이때 언급했던 문제가 될 수 있는 경우(동기화와 캡슐화)에 해당하지 않는다.
- 지역변수는 그 변수가 선언된 메소드 내에서만 접근 가능하므로, 다른 스레드나 메소드에서 직접 겁근하여 변경하는 일이 없으므로, 동기화 문제가 발생할 가능성이 낮다.
- 따라서 지역 변수로 사용할 때는 mutable 컬렉션을 사용하는 것이 더 합리적이다.
728x90
'공부 > 이펙티브코틀린' 카테고리의 다른 글
아이템 5 - 예외를 활용해 코드에 제한을 걸어라 (0) | 2024.03.31 |
---|---|
아이템 4 - inferred 타입으로 리턴하지 말라 (0) | 2024.03.31 |
아이템 3 - 최대한 플래폼 타입을 사용하지 말라 (0) | 2024.03.31 |
아이템 2 - 변수의 스코프를 최소화하라 (0) | 2024.03.25 |
아이템 1 - 가변성을 제한하라 (0) | 2024.03.23 |
댓글