Function-함수

Date:     Updated:

카테고리:

태그:

플러터(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),
      ),
    );
  }
}

코드 설명

  1. main() 함수: 플러터 애플리케이션의 진입점입니다. runApp 함수를 호출하여 루트 위젯인 MyApp을 실행합니다.

  2. MyApp 클래스: StatelessWidget을 상속받아 앱의 기본 구조를 설정합니다. MaterialApp 위젯을 사용하여 앱의 제목과 홈 페이지를 정의합니다.

  3. CounterPage 클래스: StatefulWidget을 상속받아 상태를 가질 수 있는 페이지를 만듭니다. 이 페이지에서 카운터를 관리합니다.

  4. _CounterPageState 클래스: 상태를 관리하는 클래스입니다. _counter 변수를 선언하여 카운트 값을 저장합니다.

  5. _incrementCounter 함수: 버튼 클릭 시 호출되는 함수입니다. setState 메서드를 사용하여 카운터 값을 증가시키고 UI를 갱신합니다.

  6. build() 메서드: UI를 구성하는 부분입니다. Scaffold 위젯을 사용하여 기본적인 레이아웃을 만들고, 카운터 값을 표시하는 Text 위젯과 버튼을 포함합니다.

  7. FloatingActionButton: 이 버튼을 클릭하면 _incrementCounter 함수가 호출되어 카운트가 증가합니다.

결론

위 예제는 플러터에서 함수가 어떻게 사용되는지를 보여주는 간단한 사례입니다. 함수를 사용하여 상태를 관리하고 UI를 업데이트하는 방법을 이해하는 것이 중요합니다. 이러한 기본적인 구조를 바탕으로 복잡한 애플리케이션을 개발할 수 있습니다. 플러터는 다양한 위젯과 상태 관리 방법을 제공하여 개발자들이 효율적으로 애플리케이션을 만들 수 있도록 돕습니다.

Dart 카테고리 내 다른 글 보러가기

댓글 남기기