Flutter 완전 기초 정리 핵심 요약 ⭐️

이 글에서는 Flutter를 처음부터 빠르게 복습할 수 있도록, 가장 핵심적인 내용을 간단하게 정리해드릴게요!


🐣 Flutter란?

Flutter는 Dart 언어로 개발하는 크로스 플랫폼 프레임워크입니다.

하나의 코드로 iOS, Android, 웹, 데스크탑까지 모두 만들 수 있다는 게 가장 큰 장점이에요!


🔨 기본 구조

1. main() 함수

Flutter 앱의 진입점입니다.

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

runApp()은 앱을 실행시키는 함수이고, MyApp이라는 루트 위젯을 호출합니다.


2. StatelessWidget vs StatefulWidget

구분설명
StatelessWidget상태(state)가 없는 정적인 UI
StatefulWidget상태에 따라 UI가 바뀌는 동적인 UI

예:

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

3. MaterialApp & Scaffold

• MaterialApp: 앱 전체의 테마, 라우팅 등을 담당하는 위젯

• Scaffold: 실제 화면 구조를 만드는 틀 (앱바, 바디 등)

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('홈 화면')),
      body: Center(child: Text('안녕하세요!')),
    );
  }
}

🧱 주요 위젯 한눈에 보기

위젯설명
Text텍스트 출력
Container레이아웃 박스 (색상, 크기, 정렬 등)
Column / Row세로 / 가로 정렬
ElevatedButton버튼 위젯
Image.asset / Image.network이미지 출력

🔥 Hot Reload란?

Flutter는 코드를 수정하고 저장하면 앱이 즉시 반영됩니다!

이걸 **핫리로드(Hot Reload)**라고 부르며, 강의할 때 매우 유용한 기능입니다.


🎓 예제: Flutter 기본 화면 만들기

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('Flutter 강의')),
      body: Center(child: Text('반가워요!')),
    );
  }
}

✍️ 강의 꿀팁

• stl → StatelessWidget 자동완성

• stf → StatefulWidget 자동완성

• 실습은 작은 예제부터 시작해서 점점 응용해 나가는 방식 추천!

• 중간중간 Hot Reload로 결과 확인해보면서 흥미 유도하기


✅ 마무리

Flutter를 가르칠 때 가장 중요한 건 **‘직접 손으로 만들어보는 것’**이에요.

이 글이 기억을 되살리고 강의 준비에 도움이 되었기를 바랍니다 💙


필요하면 StatefulWidget, 버튼 클릭, 상태 업데이트, 페이지 이동 등도 다음 글로 정리해줄 수 있어!

Leave a Comment

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