Menu
CoddyTech

매개변수가 있는 함수

Coddy Flutter 여정의 앱에 상호작용 추가하기 섹션에 포함된 레슨. 34개 중 7번째.

함수는 호출할 때마다 값을 받을 수 있습니다. 이 값은 매개변수이며, 괄호 안에 타입과 함께 작성합니다:

void greet(String name) {
  print('Hi, $name!');
}

greet('Ada');    // 안녕, Ada!
greet('Linus');  // 안녕, Linus!

함수 안에서 name은 전달된 값을 담는 변수입니다. 이제 하나의 함수로 여러 작업을 수행할 수 있습니다.

버튼은 스스로 값을 전달할 수 없습니다. onPressed:에는 매개변수가 없는 함수가 필요합니다. 그러므로 Your First Button에서 배운 것처럼 이름이 없는 작은 함수 안에 호출을 감싸세요:

ElevatedButton(
  onPressed: () { greet('Ada'); },
  child: Text('Ada'),
)
challenge icon

챌린지

쉬움

orderTea를 String drink을 받아 One Tea, please, One Coffee, please 또는 One Juice, please를 출력하는 하나의 함수 order로 대체하세요. 세 버튼 모두 이 함수를 사용하도록 하세요.

직접 해보기

import 'package:flutter/material.dart';

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

void orderTea() {
  print('One Tea, please');
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: Column(
            mainAxisSize: MainAxisSize.min,
            children: [
              ElevatedButton(onPressed: orderTea, child: Text('Tea')),
              SizedBox(height: 12),
              ElevatedButton(onPressed: () {}, child: Text('Coffee')),
              SizedBox(height: 12),
              ElevatedButton(onPressed: () {}, child: Text('Juice')),
            ],
          ),
        ),
      ),
    );
  }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

앱에 상호작용 추가하기의 모든 레슨

직접 연습해 보세요: 온라인 Flutter 컴파일러