Swift (2) 썸네일형 리스트형 빌 프린터로 알아보는 Observer 패턴 공식문서에서는 '등록된 참관인에게 정보를 방송할 수 있는 알림 발송 메커니즘입니다.' 라고 되어있는데요.. 잘 와닿지는 않죠? 쉽게 풀어 설명해보겠습니다. 집게리아에서는 손님들이 주문을 하면 그 주문이 징징이를 거쳐 스펀지밥에게 전달되는데요, 징징이가 주문을 받은 후 스펀지밥한테 어떤 주문이 들어왔는지 소리치면 스펀지밥은 조리를 시작하죠. 하지만 이런 방식은 징징이에게 많은 부담을 주고, 스펀지밥도 주문을 놓칠 수 있는 리스크가 있어요. 이 문제를 해결하기 위해 집게리아는 '빌 프린터'를 도입하기로 합니다. 징징이가 주문을 받으면 이 프린터를 통해 주문 내용이 바로 주방에 전달되는 시스템이에요. 이제 징징이는 주문을 큰 소리로 외칠 필요가 없고, 손님들은 식사에 집중할 수 있겠네요! 그리고 스펀지밥은 주.. 참조, 강한참조 약한참조, 순환참조...? 참조가 뭔가요? 참조는 다른 객체의 주소를 가리키는 것을 말합니다. 어떤 집에 찾아가고 싶은데 그러려면 먼저 그 집이 어디있는지 알아야 하잖아요? 주소를 받은 수 집에 찾아간다면 그 안에 들어간 후 집이 어떻게 생겼는지 볼 수 있고, 의자를 뺀다거나 하는 수정사항을 발생시킬수도 있겠죠! 이와 같이 프로그래밍에서 참조를 통해 다른 객체에 접근을 하고 수정을 할 수 있습니다. 참조 : 다른 객체의 주소를 가리키는 것 class SpongeBob { var name = "스펀지밥" } class Squidward { var name = "징징이" var friend: SpongeBob? // 스펀지밥을 참조하는 변수 } let spongeBob = SpongeBob() let squidward = Squidw.. 이전 1 다음