4. Namespace
✓ .NET Framework엔 수많은 클래스/구조체가 있어요.
(.NET 4.0 기준 약 11,000개의 클래스가 있대요)
✓ 클래스/구조체가 너무 많아 이름이 겹치는 경우가 생길 수 있어요.
(실제로 System.Drawing.Point와 System.Windows.Point가 겹쳐요)
✓ Namespace를 사용한다면 이런 이름 충돌을 줄일 수 있어요.
34. Event
✓ 특정 상태가 어떤 일이 일어났는지를 외부에 알리는데 이용돼요.
✓ delegate 변수와는 다르게 클래스 외부에선 호출이 불가능해요.
✓ += 연산자로 이벤트 핸들러 추가를, -= 연산자로 이벤트 핸들러 제거를 해요.
✓ 이벤트가 발생되면 모든 이벤트 핸들러를 호출해요.
46. Generic
✓ 데이터 타입을 확정하지 않고 사용자가 타입을 정하도록 할 수 있어요.
✓ 예를 들어 두 값을 받아 더해주는 메소드를 만들 때 double 버전, int 버전을 따로 만드는 건
비효율적이에요.
✓ 이런 상황에서 한 번에 두 타입을 지원할 수 있도록 할 수 있어요.