플러터에서 build는 위젯의 UI를 만드는 데 사용되는 메서드이다. 모든 플러터 위젯은 build 메서드를 구현해야 하며, 이 메서드는 UI가 어떻게 생겼는 지 정의한다. build 메서드는 위젯의 상태가 변경되거나 부모 위젯이 다시 빌드될 때마다 호출된다.
build 메서드
위치 : build 메서드는 StatelessWidget이나 StatefulWidget 클래스의 필수 메서드이다.
반환 값 : build 메서드는 Widget를 반환한다. 이는 일반적으로 여러 위젯을 중첩하여 구성된 트리 구조이다.
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context){
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Flutter Build Example'),
),
body: Center(
child: Text('Hello, Flutter'),
),
),
);
}
}
이 예제에서 MyApp 클래스는 StatelessWidget을 상속받으며, build 메서드는 MaterialApp, Scaffold, Appbar, Center, Text 위젯을 중첩하여 구성된 UI를 반환한다.
build 메서드의 역할
1. UI 구성 : build 메서드는 위젯 트리를 구성하여 화면에 어떤 UI가 표시될 지 정의한다.
2. 상태 변경 반영 : StatefulWidget의 경우 상태가 변경될 때마다 setState 메서드를 호출하여 build 메서드를 다시 호출하도록 한다.
3. 효율성 : 플러터는 build 메서드를 자주 호출하므로, 가능한 한 가볍고 빠르게 실행되도록 작성하는 것이 중요하다
build 메서드의 속성
build 메서드 자체는 특정 속성을 가지지 않지만, build 메서드 내에서 생성하는 여러 위젯은 다양한 속성을 가질 수 있다. 예를 들어 Text 위젯의 속성은 다음과 같다.
- data: 표시할 텍스느 태용
- style: 텍스트 스타일(글꼴, 크기, 색상 등)
- textAlign: 텍스트 정렬
- maxLines: 최대 줄 수