
개요
Lazy Load는 객체의 일부 데이터를 실제로 필요한 시점까지 로딩하지 않고 지연시키는 패턴입니다.
실생활 예시
📱 스마트폰 사진첩과 비슷합니다:
- 처음에는 작은 썸네일 이미지만 로드
- 사진을 클릭할 때 고화질 이미지를 로드
- 필요한 시점에 필요한 데이터만 가져옴
Lazy Load 종류
1. Lazy 초기화 (Lazy Initialization)
- 필요할 때까지 객체 생성을 미룸
- 예: SNS 프로필에서 상세 정보는 클릭할 때 로드
2. 가상 프록시 (Virtual Proxy)
- 실제 객체 대신 가벼운 프록시 객체를 먼저 제공
- 예: 유튜브 썸네일 이미지
3. 값 홀더 (Value Holder)
- Value Holder는 값을 가져오는 로직을 캡슐화하고, 실제로 필요할 때까지 값을 로딩하지 않는 패턴입니다.
- 실제 값을 가져오는 로직을 캡슐화
- 예: 게시글 목록에서 댓글 수만 표시
4. Ghost