[Class] Widget
Element(요소) 의 구성((위치, 키, 타입 등)을 나타냄
Element는 인덱스(요약정보?) 같은 느낌
1. 위젯이 위젯트리에 추가될때, 자신의 구성 정보를 가진 Element 를 생성한다.
Element 는 위젯을 가리키고 있다. (위치정보를 가지고 있다.)

2. 위젯 트리의 한 위젯(A)이 다른 위젯(B)으로 대체되어야 할 경우
2-1) 두 위젯의 runtimeType 과 key 값이 같다면,
B 위젯이 A의 Element를 업데이트 한다.

2-2) 두 위젯의 runtimeType 과 key 값이 같지 않으면,
A 위젯은 삭제되고, B 위젯이 새로운 Element 를 생성한다.
Constructors
키 값을 할당한다. 이 키는 종속된 클래스들에 사용된다.
Initializes key for subclasses.
사용예)
class Foo extends StatelessWidget {
@override
Widget build(BuildContext context) => Text('foo');
}
- Foo 는 상태가 변하지 않는 위젯 (StatelessWidget 를 확장(상속)한 위젯)임
- 위젯의 주된 기능은 화면을 그리는 것(build( ) 함수 구현)하는 것
Foo 는 화면에 'foo' 라는 텍스트를 노출하기 위해
상속한 StatelessWidget 의 build 함수를 다시 작성함(override)
- build method 는 위젯의 Widget (Element 구성을 정보) 을 반환 함
■ 참고 : https://api.flutter.dev/flutter/widgets/Widget-class.html