State 객체는 어떻게 StatefulWidget에 Access하지?
- StatefulWidget의 State 객체는 위젯의 프로퍼티에
widget.propertyName 방식으로 접근할 수 있다. 💡
- 이는 Element 객체 덕분인데, Element는 위젯 트리, 엘리먼트 트리, 렌더 트리에서 엘리먼트 트리를 형성하는 객체이다. 🌳
- State 객체는 Element 트리에 연결되어 있으며, StatefulWidget 클래스에 직접 연결된 것은 아니다. 🔗
- StatefulWidget이 생성될 때 State 객체가 즉시 생성되는 것이 아니라, Element 객체를 통해 연결된다. ⚙️
- StatefulWidget 객체 생성 후, Flutter 프레임워크가
createElement를 호출하여 Element 객체를 생성한다. 🏗️
- Element 객체는 State 객체를 생성하고, StatefulWidget 객체와 State 객체를 연결하는 역할을 한다. 🤝
- State 객체 내에서
widget 변수를 통해 StatefulWidget에 접근할 수 있게 된다. 🔑
- 즉, State 클래스에서 StatefulWidget에 접근 가능한 이유는 Element 객체가 중간에서 연결고리 역할을 하기 때문이다. 🌉
- 내부적으로 Element 객체가 State와 StatefulWidget을 연결하는 과정에 대한 이해를 높일 수 있다. 🧠