생성자를 통해 초기화 할 때, 새로운 객체로 감싸서 복사해주는 방법이다.외부와 내부에서 주소값을 공유하는 인스턴스의 관계를 끊어주기 위함이다.방어적 복사를 하지 않는다면, 외부(원본) List에서 리스트에 값을 추가할 시, 내부의 List에도 값이 추가 될 것이다.이
이전 내용을 간략하게 요약해보자.인자로 들어올 원본 List의 변화가 객체 내부 필드의 변화까지 일어나지 않게 하기 위해 방어적 복사를 해주었다.방어적 복사를 하게 되면, 원본 List와 객체 내부 필드의 참조 값이 달라지면서, 외부의 변화에 대해 막아줄 수 있었다.그