사실 컬렉션 오브젝트 모델은 메서드들의 간편표기를 줄인 형태임.

이를테면, CollectionT이라는 오브젝트모델은 내부적으로 IList를 가지고 있는데,

그럴꺼면 걍 IList 상속해 버려서 구현하면되잖아? 그런데 그런데 왜 안그러고

Collection ReadonlyCollection, KeyedCollection ReadOnlyDictionary ObseravableCollection ReadOnlyObseravableCollection

이런걸 만들었냐 이거지.

위에 나열한거 죄다 내부적으로는 System.Collection, System.Collection.Generic 래퍼임.


그런데 오브젝트모델상속받는 IPEndPointCollection같은거 보니까 재정의가 간편해지더라 이거자.

elem ==null이면 nullarumentexception 뿌린다는걸 모든 메서드에 오버라이드 해보면 ㅈ같잖아.

왜 내가 이 메서드들을 죄다 쓸것도 아닌데 이짓을 하고있지? 그런것같음.

IPEndPointCollection을 처리하는 로직에선 Null에 대한 처리로직을 넣지 않을 거거든. 비효율적이니까.

아나, 더 설명하긴 복잡하고 아무튼 그런것 같다.