고정 크기 뷰와 불변 스냅숏은 다른 계약이다

Arrays.asList는 배열과 원소를 공유하면서 add·remove만 막고 List.copyOf는 이후 내부 변경과 분리됩니다.

Arrays.asList

원본 배열과 원소 변경 공유 · 크기 변경 불가

new ArrayList<>(view)

독립 가변 복사 · add/remove 가능

List.copyOf

불변 스냅숏 · 이후 내부 변경 미반영

핵심: 내부 저장소와 외부 조회 계약은 서로 다르게 선택할 수 있습니다.