[아이템 83] 지연 초기화는 신중히 사용하라
1. 지연 초기화(lazy initialization) 필드의 초기화 시점을 그 값이 처음 필요할 때까지 늦추는 기법 값이 전혀 쓰이지 않으면 초기화도 결코 일어나지 않는다. 클래스와 인스턴스 초기화 때 발생하는 위험한 순환 문제를 해결하는 효과가 있다. 최적화에서의 지연초기화 주로 최적화 용도로 사용된다. (최적화는 신중하게 해라 [item67]) 클래스 혹은 인스턴스 생성 시의 초기화 비용은 줄지만, 지연 초기화하는 필드에 접근하는 비용이 커진다. 지연 초기화 필드중 결국 초기화가 이뤄지는 비율, 시렞 초기화에 드는 비용, 초기화된 각 필드의 호출 빈도에 따라 성능 판단 지연 초기화가 필요한 시점 해당 클래스의 인스턴스 중 그 필드를 사용하는 인스턴스의 비율이 낮고, 그 필드를 초기화하는 비용이 클 ..
Reading Record/이펙티브자바
2020. 7. 11.