Function-함수
카테고리: Dart
플러터(Flutter)는 구글이 개발한 UI 툴킷으로, 하나의 코드베이스로 iOS와 Android 애플리케이션을 모두 개발할 수 있게 해줍니다. 플러터의 함수는 Dart 언어로 작성되며, 다양한 위젯을 사용하여 UI를 구성하고 관리하는 데 사용됩니다. 아래에 플러터의 함수에 대한 예제를 자세히 설명하겠습니다.
함수 정의와 사용
Dart에서 함수를 정의하는 기본 문법은 다음과 같습니다:
returnType functionName(parameters) {
// 함수 본문
}
예제: 간단한 버튼 클릭 함수
아래 예제에서는 버튼을 클릭할 때마다 카운트를 증가시키는 간단한 플러터 애플리케이션을 만들어 보겠습니다.
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Function Example',
home: CounterPage(),
);
}
}
class CounterPage extends StatefulWidget {
@override
_CounterPageState createState() => _CounterPageState();
}
class _CounterPageState extends State<CounterPage> {
int _counter = 0; // 카운터 변수
// 카운트를 증가시키는 함수
void _incrementCounter() {
setState(() {
_counter++; // 카운트를 1 증가
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Counter Example'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'버튼을 클릭한 횟수:',
),
Text(
'$_counter', // 카운트 값 표시
style: Theme.of(context).textTheme.headline4,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter, // 버튼 클릭 시 함수 호출
tooltip: 'Increment',
child: Icon(Icons.add),
),
);
}
}
코드 설명
-
main() 함수: 플러터 애플리케이션의 진입점입니다.
runApp
함수를 호출하여 루트 위젯인MyApp
을 실행합니다. -
MyApp 클래스:
StatelessWidget
을 상속받아 앱의 기본 구조를 설정합니다.MaterialApp
위젯을 사용하여 앱의 제목과 홈 페이지를 정의합니다. -
CounterPage 클래스:
StatefulWidget
을 상속받아 상태를 가질 수 있는 페이지를 만듭니다. 이 페이지에서 카운터를 관리합니다. -
_CounterPageState 클래스: 상태를 관리하는 클래스입니다.
_counter
변수를 선언하여 카운트 값을 저장합니다. -
_incrementCounter 함수: 버튼 클릭 시 호출되는 함수입니다.
setState
메서드를 사용하여 카운터 값을 증가시키고 UI를 갱신합니다. -
build() 메서드: UI를 구성하는 부분입니다.
Scaffold
위젯을 사용하여 기본적인 레이아웃을 만들고, 카운터 값을 표시하는Text
위젯과 버튼을 포함합니다. -
FloatingActionButton: 이 버튼을 클릭하면
_incrementCounter
함수가 호출되어 카운트가 증가합니다.
결론
위 예제는 플러터에서 함수가 어떻게 사용되는지를 보여주는 간단한 사례입니다. 함수를 사용하여 상태를 관리하고 UI를 업데이트하는 방법을 이해하는 것이 중요합니다. 이러한 기본적인 구조를 바탕으로 복잡한 애플리케이션을 개발할 수 있습니다. 플러터는 다양한 위젯과 상태 관리 방법을 제공하여 개발자들이 효율적으로 애플리케이션을 만들 수 있도록 돕습니다.
댓글 남기기