작성
·
285
0
[미니프로젝트] 회원관리 프로그램 강의 중에서 List<User> 객체가 외부에 의해서 값이 변경되는 것을 막기 위해 read only인 Iterator를 사용하셨는데요. 구글에서 검색해보니 다른 방법도 있는 것 같아요. Collections.unmodifiableList(List list) 를 사용하면 immutable (read-only)로 List를 return 할 수 있다고 하네요.
답변 1
1
User객체가 변할까봐 Iterator를 사용하는게 아닙니다. List등에 담기는 자료의 수를 몰라도 모든 데이터를 꺼낼 수 있으니 사용하는 것입니다.
63 강의 시간 1시간 쯤 전후(59:20 ~ 1:01:16)에서 public List<User> getUsers() 메서드를 public Iterator<User> getUsers() 메서드로 리턴 타입을 변경하실때, List<User>를 리턴하면 외부에서 이 리스트 내용을 변경하거나 삭제할 수 있기 때문에 이것을 방지하기 위해 읽기전용인 Iterator<User> 타입으로 외부에 리턴하는게 좋다고 설명하셔서요.