Iterator는 Collection 객체를 순회하기 위한 방법. 반복자라고도 함.
ArrayList의 기본 size는 10이고 10보다 더 많은 데이터를 넣는다면 동적으로 변하게 된다.
💡 Question: ArrayList는 어떻게 구현될까?
Thread Safety: 멀티 쓰레드 환경에서 변수, 함수와 같은 공유 자원에 여러 쓰레드가 동시에 접근해도 문제 없음을 뜻한다. lock을 통해 하는 듯 하다.
💡 Question: Thread Safety에 대해 자세히 알아보기
💡 Question: lock 알아보기 (세마포어)
ArrayList는 멀티 쓰레드 환경에서 Thread Safety하지 않기 때문에, 사용하려면 Collections.synchronizedCollection()를 이용하여 Thread Safety하게 한다.