DisplayObject로 이뤄진 트리에서 캐스트없이 DisplayObjectContainer를 구분하기 위해 객체의 참조를 보관한다.
사용자는 애초에 자신이 생성한 DisplayObjectContainer의 참조를 가지고 있음을 명심하자.
그러니까 사용자가 root에서 객체를 꺼내는 일 자체가 이상한 일이다.
DOC트리는 메모리 풀이 아니다! 그냥 순차 렌더링을 위한 자료구조이다.
->뭐야... 그럼 꼭 보관을 해야하는걸까? 아무 의미도 없는거 아니냐?
아니다! 컨테이너가 필요한 이유는 DisplayObject에는 없으나 DisplayObjectContainer에는 있는 기능을 사용하기 위해서다.
Projector는 오직 DisplayObjectContainer인 root만을 가진다! 그런데 저걸 해야돼!
자손 전부 삭제deleteAllChild 같은 메서드는 DO에는 선언되지 않으나
root에서 써야되고 재귀적으로 모두 가능해야한다. 그러니까 Projector에 잇어야할 거 같다...
만일 그런 컨테이너가 있으면 자손 삭제는 그 컨테이너에만 하면 끝임(재귀가 아니다.)
또, 이런 경우에는 해쉬맵이 의미가 있는가? 과연 검색을 많이 하겠는가? 글쎄...
->애초에 다른 구체 객체들은 어쩔건데?
->그 컨테이너는 Projector가 가질것인가?
->DisplayObjectContainer가 static member로 가질 것인가?
그런데 왠지 자폐증 걸릴거 같다
이게 다 dynamic_cast 때문이다
하다보면 재미있음
나도 그러긴 하는데 그러면 그럴수록 코드보여주기가 부끄러워진다
예전에 프로그래밍할때 혼잣말하는 버릇 있었는데 가족한테 핀잔듣고나서 고침
그렇게 왕따가 되어가고.....
짝프로그래밍 해보고 싶다... 오고가는 키보드 속에 싹트는 사랑...