Dart 학습: 함수
함수는 코드의 재사용성을 높이고, 프로그램의 구조를 명확하게 만드는 중요한 요소입니다. 이번 글에서는 함수 정의와 호출, 함수의 반환형과 인자 처리, 람다 함수에 대해 알아보겠습니다.
1. 함수 정의와 호출: 함수 선언과 호출 방법
Dart에서 함수는 returnType functionName(parameters) { ... } 형식으로 정의합니다. 함수를 정의하고 호출하는 방법을 살펴보겠습니다.
함수 정의 예제:
print('Hello, World!');
}
위의 예제에서 greet 함수는 void 반환형을 가지며, 인자가 없습니다. 이 함수는 "Hello, World!"를 출력합니다.
함수 호출 예제:
greet(); // 함수 호출
}
위의 예제에서 greet 함수를 호출하여 "Hello, World!"를 출력합니다.
2. 반환값과 매개변수: 함수의 반환형과 인자 처리
함수는 특정 작업을 수행하고 결과를 반환할 수 있습니다. 또한, 매개변수를 통해 값을 함수에 전달할 수 있습니다.
반환값이 있는 함수 예제:
return a + b;
}
위의 예제에서 add 함수는 두 정수를 더한 값을 반환합니다. int 반환형을 가지며, 두 개의 int 매개변수를 받습니다.
매개변수가 있는 함수 호출 예제:
int result = add(3, 5);
print(result); // 8 출력
}
위의 예제에서 add 함수를 호출하여 3과 5를 더한 결과를 출력합니다.
기본값을 가지는 매개변수 예제:
print('$greeting, $name!');
}
void main() {
greet('Alice'); // Hello, Alice! 출력
greet('Bob', 'Goodbye'); // Goodbye, Bob! 출력
}
위의 예제에서 greet 함수는 두 개의 매개변수를 가지며, 두 번째 매개변수는 기본값을 가질 수 있습니다.
3. 람다 함수: 익명 함수의 사용
람다 함수(익명 함수)는 이름 없이 정의된 함수로, 간단한 작업을 수행할 때 유용합니다. 람다 함수는 => 문법을 사용하여 간단하게 정의할 수 있습니다.
람다 함수 예제:
var add = (int a, int b) => a + b;
print(add(3, 5)); // 8 출력
}
위의 예제에서 add 변수는 두 정수를 더하는 람다 함수를 참조합니다. => 문법을 사용하여 간결하게 정의됩니다.
컬렉션 메서드와 람다 함수 예제 : 람다 함수는 컬렉션 메서드와 함께 자주 사용됩니다. 예를 들어, 리스트의 각 요소를 변환하거나 필터링할 때 유용합니다.
List<int> numbers = [1, 2, 3, 4, 5];
// 각 요소를 제곱하는 람다 함수 사용
var squares = numbers.map((n) => n * n).toList();
print(squares); // [1, 4, 9, 16, 25] 출력
// 짝수만 필터링하는 람다 함수 사용
var evens = numbers.where((n) => n % 2 == 0).toList();
print(evens); // [2, 4] 출력
}
위의 예제에서 map 메서드와 where 메서드는 각각 리스트의 요소를 변환하고 필터링하기 위해 람다 함수를 사용합니다.
이 글에서는 Dart의 함수에 대해 알아보았습니다. 함수 정의와 호출, 함수의 반환형과 인자 처리, 람다 함수를 이해하고 활용하면 더 효율적이고 구조적인 코드를 작성할 수 있습니다. 다음 단계에서는 객체 지향 프로그래밍에 대해 학습해보세요. Happy Coding!
'프로그래밍 > Dart' 카테고리의 다른 글
[Dart] 6. Dart의 "예외 처리" (0) | 2024.06.19 |
---|---|
[Dart] 5. Dart의 "컬렉션" (0) | 2024.06.19 |
[Dart] 4. Dart의 "객체 지향 프로그래밍 (OOP)" (0) | 2024.06.19 |
[Dart] 2. Dart의 "기본 문법" (0) | 2024.06.19 |
[Dart] 1. Dart의 "기초 개념" (0) | 2024.06.19 |