BuildContext내용을 알기 위해서는 Widget의 구조를 알아야 한다.

위 사진과 같이 모든 플러터 위젯은 한 가지 이상의 하위 위젯을 가질 수 있고, 모두 트리의 노드가 된다.
모든 플러터 위젯은 BuildContext 인수(매개변수)가 포함된 @override build() 메소드를 가지고 있다.
class StudyBuildContext extends StatelessWidget {
@override
Widget build(BuildContext context) {
// ...
}
BuildContxt를 간단히 설명하자면
Build.call()까지 모든것이 위젯이다.여기에서 이해 해야할 중요개념은
build() 메소드와 context를 가지고 있다.BuildContext는 build() 메소드에 의해 리턴된 위젯의 부모다.build() 메소드를 호출하는 위젯의BuildContext와 build()를 통해 리턴되는 위젯의 BuildContext는 동일하지 않다.