Spring 프로젝트(특히 Spring Security) 코드를 작성하다 보면 다음과 같은 형태의 코드를 자주 마주치게 됩니다.return Collections.singleton(new SimpleGrantedAuthority("ROLE_USER")); "그냥 new ArrayList를 쓰면 되지, 왜 굳이 Collections.singleton을 사용할까?"라는 의문이 드실 수 있습니다.게다가 이 반환값을 받아서 무심코 .add()를 호출했다가는 UnsupportedOperationException이라는 런타임 에러를 만나게 됩니다.오늘은 실무에서 자주 헷갈리는 Java List의 가장 효율적인 초기화 방법들과 '수정 가능(Mutable)' 여부를 명확하게 정리해 드리겠습니다.1. 불변(Immutabl..