Flutter StatelessWidget


Flutter에서 `StatelessWidget`은 상태가 없는 위젯입니다. 이 위젯은 한 번 생성되면 변경되지 않는 값들을 렌더링하는 데 사용됩니다. 즉, 상태나 데이터가 변하지 않으므로 빌드 메서드가 다시 호출되지 않습니다.

### 예제 코드

간단한 `StatelessWidget` 예제를 통해 설명해보겠습니다. 이 예제는 단순한 텍스트 메시지를 화면에 표시하는 애플리케이션입니다.

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('StatelessWidget Example'),
      ),
      body: Center(
        child: Text('Hello, Flutter!'),
      ),
    );
  }
}



### 코드 설명

1. **MyApp 클래스 (StatelessWidget)**:
   – `MyApp`은 `StatelessWidget`을 상속합니다.
   – `build` 메서드는 위젯 트리를 빌드하며, 여기서 `MaterialApp`을 반환합니다.

2. **MyHomePage 클래스 (StatelessWidget)**:
   – `MyHomePage` 역시 `StatelessWidget`을 상속합니다.
   – `build` 메서드는 UI를 정의하며, `Scaffold`를 반환합니다. 이 `Scaffold`는 앱의 기본적인 레이아웃 구조를 제공합니다.
   – `AppBar`는 상단에 표시되는 앱바를 정의하고, `Center` 위젯은 자식을 중앙에 배치합니다.
   – `Text` 위젯은 화면에 “Hello, Flutter!” 메시지를 표시합니다.

`StatelessWidget`은 상태를 가지지 않기 때문에 간단한 UI를 정의할 때 주로 사용됩니다. 상태나 데이터가 변경될 필요가 없을 때 적합합니다.

### StatelessWidget의 특징

– **불변성**: `StatelessWidget`의 속성은 변경되지 않습니다. 위젯이 생성된 후에는 상태를 변경할 수 없습니다.
– **간결성**: 상태 관리가 필요 없으므로 코드가 간결합니다.
– **성능**: 상태가 변경되지 않기 때문에 성능 최적화에 유리합니다.

`StatelessWidget`은 정적인 UI를 구성할 때 사용하기 적합합니다. 데이터나 상태가 변하지 않는 부분에 적합하며, 변동이 필요한 경우 `StatefulWidget`을 사용합니다.


Leave a Reply

Your email address will not be published. Required fields are marked *