예를 들어, 구성된 위젯에 패딩이 있는 열이 포함되어 있고 다음과 같이 두 개의 하위 항목을 배치하려는 경우

Flutter layout engine에는 몇가지 중요한 제한 사항이 있다(예시로 둔 레이아웃 규칙에 의해)
예제 코드를 통해 각각의 경우를 살펴본다.
||
|:--:|
|<b>Screen은 Center 위젯에게 Screen과 같은 사이즈가 되도록 강제합니다. 따라서 Center 위젯은 Screen을 가득 채웁니다.
Center 위젯은 Container 위젯에게 Screen보다 큰 사이즈일수는 없더라도 원하는 사이즈를 가질 수 있게 허용합니다. 따라서 Container는 100 x 100 사이즈를 갖습니다.</b>|

|:--:|
|<b>Align 위젯을 사용하고 있습니다.
- alignment 속성 : 하단 오른쪽
Align 위젯은 Container에게 원하는 사이즈를 부여할 수 있습니다. 다만, 회색영역과 같이 빈공간이 있는 경우, Container는 중앙에 배치될 수 없습니다.</b>|

|:--:|
|<b>Container는 infinite size로 width를 명시했습니다. 하지만, Screen(Parent)보다 커질 수 없기에 Screen을 가득채울뿐입니다.</b>|

|:--:|
|<b>- Center는 red Container에게 Screen보다 더 큰 사이즈를 가질수 없다는 제약조건하에 원하는 사이즈를 가질 수 있도록 합니다.
- 하지만, red Container는 어떤 사이즈를 갖겠다고 명시되어 있지 않습니다.
- red Container의 child는 green Container인데, 30 x 30 사이즈를 갖고 있습니다.
- red Container는 역시 자식의 크기에 맞게 크기가 조정되어 30 x 30 입니다. 따라서 child에게 덮혀 보이지 않습니다.</b>|

|:--:|
|<b>padding 속성이 없다면, red Container는 child와 같은 사이즈이지만, 30 x 30에 모든 방향으로의 20 padding이 더해집니다.</b>|

|:--:|
|<b>Costraints의 사이즈 속성들은 전부 무시됩니다. Screen은 ConstrainedBox에게 자신과 같은 사이즈를 갖도록 강제합니다.</b>|

|:--:|
|<b>child Container는 1000 x 1000 사이즈를 원하지만, parent ConstrainedBox가 150 x 150이므로, 150 x 150 사이즈만을 갖습니다.</b>|

|:--:|
|<b>child Container는 parent ConstrainedBox minSize, maxSize에 포함되는 100 x 100 사이즈를 차지하게 됩니다.</b>|

|:--:|
|<b>`UnconstrainedBox` lets its child `Container` be any size it wants.</b>|

|:--:|
|<b>Unfortunately, in this case the `Container` is 4000 pixels wide and is too big to fit in the `UnconstrainedBox`, so the `UnconstrainedBox` displays the much dreaded “overflow warning”.</b>|

|:--:|
|<b>- The screen forces the `OverflowBox` to be exactly the same size as the screen, and `OverflowBox` lets its child `Container` be any size it wants.
- `OverflowBox` is similar to `UnconstrainedBox` ; the difference is that it won’t display any warnings if the child doesn’t fit the space.</b>|

|:--:|
|<b>- 아무 것도 렌더링되지 않으며 콘솔에 오류가 표시됩니다.
- `UnconstrainedBox`자식을 원하는 크기로 만들 수 있지만 child의 width 속성은 부적절합니다.
- Flutter는 무한한 크기를 렌더링할 수 없으므로 다음 메시지와 함께 오류가 발생합니다.`BoxConstraints forces an infinite width.`</b>|











※ 학습해야 할것


**Contents 보기 [Flutter앱에 interactivity 추가하기]**[StatelessWidget](https://api.flutter.dev/flutter/widgets/StatelessWidget-class.html)[StatefulWidget](https://api.flutter.dev/flutter/widgets/StatefulWidget-class.html)[State](https://api.flutter.dev/flutter/widgets/State-class.html)객체에 저장되어 위젯의 상태를 모양과 분리합니다. 상태는 슬라이더의 현재 값이나 체크박스 선택 여부와 같이 변경할 수 있는 값으로 구성됩니다. 위젯의 상태가 변경되면 상태 객체는 setState()를 호출하여 프레임워크에 위젯을 다시 그리도록 지시합니다.****