[flutter] 플러터에서의 위젯(Widget)

플러터(Flutter)는 UI를 구성하는 기본 단위로 위젯(Widget)을 사용합니다. 플러터에서 모든 것은 위젯이며, 화면에 표시되는 구성 요소는 모두 위젯으로 이루어집니다.

위젯(Widget)이란?

위젯(Widget)은 화면에 표시되는 모든 것을 말합니다. 버튼, 텍스트, 레이아웃 등은 모두 위젯으로 표현됩니다. 위젯은 상태를 가질 수 있거나 없을 수 있으며, 이 상태에 따라 화면에 표시되는 내용이 변경될 수 있습니다.

StatelessWidget과 StatefulWidget

플러터에서는 StatelessWidgetStatefulWidget이라는 두 가지 주요한 위젯 타입이 있습니다.

StatelessWidget

StatelessWidget은 한 번 그려지면 그 상태를 변경할 수 없는 위젯입니다. 예를 들어, 단순한 텍스트나 아이콘과 같은 정적인 내용을 표시할 때 사용됩니다.

class MyTextWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Text('Hello, Flutter!');
  }
}

StatefulWidget

StatefulWidget은 동적인 상태를 가지고 있거나 상태가 변경될 수 있는 위젯입니다. 사용자 입력이나 다른 이벤트에 따라 내용이 변경되어야 하는 경우에 사용됩니다.

class CounterWidget extends StatefulWidget {
  @override
  _CounterWidgetState createState() => _CounterWidgetState();
}

class _CounterWidgetState extends State<CounterWidget> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return RaisedButton(
      onPressed: _incrementCounter,
      child: Text('$_counter'),
    );
  }
}

결론

플러터에서는 위젯(Widget)을 사용하여 화면을 구성하고, StatelessWidgetStatefulWidget을 통해 정적인 내용과 동적인 내용을 효과적으로 관리할 수 있습니다.

위젯에 대한 더 자세한 정보는 플러터 위젯 공식 문서를 참고하세요.