// material.dart 패키지에는 flutter의 UI와 관련된 거의 모든 클래스가 포함되어 있어서 자주 사용한다
import 'package:flutter/material.dart';
// flutter는 자바나 C 언어로 작성된 프로그램처럼 main() 함수에서 시작한다
// main() 함수는 앱이 실행될 때, flutter와 dart에 의해서 호출된다
// main() 함수 안에 기본적으로 화면에서 볼 수 있는 위젯을 넣는다
// flutter를 한 마디로 정의하자면 '위젯들'이다
void main() {
// main() 함수는 runApp() 함수를 호출한다
// MyApp을 인스턴스화 하기 위해서 ()를 붙여준다
runApp(MyApp());
}
// Widget을 만들기 위해서는 class가 필요하다
// StatelessWidget은 상태가 변경되지 않는 위젯이다
class MyApp extends StatelessWidget {
// @override를 사용하면 MyApp class의 build() 함수를 재정의 한다
@override
// build() 함수는 어떤 위젯을 만들지 정의하는 함수이고, 위젯을 return 해야한다
// BuildContext는 material.dart에서 제공하는 class
Widget build(BuildContext context) {
// MaterialApp() 함수는 그림을 그리는데 필요한 캔버스라고 생각하면 된다
// 이 함수 안에는 그림 도구에 속하는 title(앱 이름), theme(테마 색상), home(앱을 실행할 때 첫 화면의 표시 내용) 등이 정의되어 있다
return MaterialApp(
// Text는 class고 문자열을 전달했다
home: Text('Hello!'),
);
}
}