ConcurrentModificationException
http://egloos.zum.com/iilii/v/5350490
iterator 를 가져왔는데 해당 iterator 가 바라보고 있는 원본의 데이터가 변경되었을 때 발생하는 Exception
Equals 를 Override 할 때, 반드시 Override 해야하는 함수
http://aroundck.tistory.com/244
hashCode 를 override 해야합니다.
하지 않게 되면 hashCode 의 보편적은 계약을 위배하므로 HashMap, HashSet, HashTable 을 포함하여 해시 기반 컬렌션들이 정상 동작하지 않을 가능성이 높습니다.
hashCode 의 보편적 계약사항
1. 같은 객체에 한 번 이상 호출되더라도 hashCode 는 같은 정수를 반환
2. equals 가 동일하다면 hashCode 도 같아야 한다.
3. equals 가 다를 때, hashCode 도 반드시 달라야 할 필요는 없지만, 다르면 성능이 향상된다.