델리게이트 패턴이란? 하나의 객체가 모든 일을 처리하는 것이 아니라 어떤 객체가 해야하는 일을 부분적으로 확장해서 대신 처리하는 것을 뜻합니다. 언제 사용해야하는가? 하나의 객체가 해야하는 일이 여러가지일 때 사용하는 것이 적합합니다. 그 외 객체간 소통할 수 있는 방법 Notification은 한 객체의 변화를 여러 객체들이 관찰해야하는 경우. 즉, 수신받는 객체가 많을 때 사용합니다. Closure같은 경우에는 콜백 블럭을 받기 위한 목적이 분명할 때. 즉, 내부의 블록을 호출시키는 코드를 읽고 다시 돌아와서 추적할 일이 없는 경우일 때 주로 사용합니다. 사용할 때 주의사항 Delegate 프로퍼티 변수를 약한 참조(weak)를 사용하지 않는다면 Strong Reference Cycle, 즉 메모리 ..