- Khi muốn tạo một bản sao độc lập của đối tượng và các đối tượng con của nó
- Khi muốn tạo một tham chiếu mới đến cùng đối tượng
- Khi muốn tối ưu hóa việc sử dụng bộ nhớ
- Khi muốn tăng tốc độ thực thi chương trình