티스토리 뷰
반응형
예제로 배우는 Dart & Flutter 시작하기 ④ - 함수의 모든 것(기본부터 응용까지)
이전 글에서는 Dart의 조건문과 반복문을 통해 코드의 흐름을 제어하는 방법을 배웠습니다. 이번에는 프로그래밍에서 가장 중요한 개념 중 하나인 함수(function) 에 대해 배우겠습니다.
함수는 코드의 재사용성을 높이고, 프로그램의 가독성을 향상시키는 필수 요소입니다. 이번 글에서 함수의 개념부터 다양한 활용 방법까지 예제를 통해 확실히 익혀봅시다.
📌 1. 함수란 무엇인가?
함수는 특정 작업을 수행하는 코드의 묶음으로, 여러 번 반복 사용이 가능합니다. 이를 통해 코드가 깔끔해지고 중복이 줄어듭니다.
📌 2. 함수의 기본 구조
Dart에서 함수는 다음과 같은 형태로 정의합니다:
리턴타입 함수명(매개변수) {
// 함수 본문
}
- 리턴 타입: 함수가 반환하는 값의 타입 (반환값이 없으면 void)
- 함수명: 함수의 이름
- 매개변수: 함수가 입력받는 값 (필수 아님)
✅ 기본 함수 예제
// 두 숫자를 더하는 함수
int add(int a, int b) {
return a + b;
}
void main() {
int result = add(3, 5);
print('결과는 $result입니다.');
}
실행 결과:
결과는 8입니다.
📌 3. 다양한 함수 형태
반응형
✅ ① 반환값이 없는 함수 (void)
반환값이 없는 함수는 작업만 수행하고 결과를 돌려주지 않습니다.
void sayHello(String name) {
print('안녕하세요, $name님!');
}
void main() {
sayHello('홍길동');
}
실행 결과:
안녕하세요, 홍길동님!
✅ ② 선택적 매개변수(optional parameter)
선택적 매개변수를 이용하면 일부 매개변수를 생략할 수 있습니다.
void introduce(String name, [int age = 20]) {
print('이름: $name, 나이: $age');
}
void main() {
introduce('홍길동'); // 나이 생략, 기본값 20 사용
introduce('김철수', 25); // 나이 지정
}
실행 결과:
이름: 홍길동, 나이: 20
이름: 김철수, 나이: 25
✅ ③ 이름 있는 매개변수(named parameter)
이름 있는 매개변수는 매개변수의 이름을 명시적으로 지정하여 전달합니다.
void printPerson({required String name, int age = 30}) {
print('이름: $name, 나이: $age');
}
void main() {
printPerson(name: '홍길동'); // 나이 기본값 30 사용
printPerson(name: '김철수', age: 27);
}
실행 결과:
이름: 홍길동, 나이: 30
이름: 김철수, 나이: 27
📌 4. 익명 함수(Anonymous Function)
익명 함수는 이름이 없는 함수로, 주로 다른 함수의 매개변수로 전달할 때 사용합니다.
void main() {
var list = ['사과', '바나나', '딸기'];
list.forEach((item) {
print('과일: $item');
});
}
실행 결과:
과일: 사과
과일: 바나나
과일: 딸기
📌 5. 화살표 함수(Arrow Function)
화살표 함수는 간단한 한 줄의 표현식을 바로 반환하는 함수입니다.
int multiply(int x, int y) => x * y;
void main() {
print(multiply(3, 5)); // 결과: 15
}
실행 결과:
15
📌 6. 재귀 함수(Recursive Function)
자기 자신을 호출하는 함수를 재귀 함수라고 합니다. 반복문과 유사한 효과를 낼 수 있습니다.
int factorial(int n) {
if (n <= 1) return 1;
return n * factorial(n - 1);
}
void main() {
print(factorial(5)); // 5! = 120
}
실행 결과:
120
📌 7. 이번 글에서 배운 내용
- 함수의 기본 개념과 구조 이해
- 반환값이 있는 함수와 없는 함수의 차이
- 선택적 매개변수와 이름 있는 매개변수 사용법
- 익명 함수와 화살표 함수 활용
- 재귀 함수 개념과 활용법
📌 8. 다음 글 예고
다음 글에서는 Dart의 객체지향 프로그래밍(OOP)에 대한 기초를 다룹니다. 클래스와 객체의 개념, 그리고 객체지향 프로그래밍의 핵심 요소들을 명확히 이해하고 활용할 수 있도록 안내합니다.
- 다음 글 제목:
『예제로 배우는 Dart & Flutter 시작하기 ⑤ - 클래스와 객체 완벽 이해하기』
'Programming > dart' 카테고리의 다른 글
예제로 배우는 Dart & Flutter 시작하기 ⑥ - List, Map, Set 완전 정복하기 (0) | 2025.04.02 |
---|---|
예제로 배우는 Dart & Flutter 시작하기 ⑤ - 클래스와 객체 완벽 이해하기 (1) | 2025.04.01 |
예제로 배우는 Dart & Flutter 시작하기 ③ - 조건문과 반복문 완벽 정리 (0) | 2025.03.29 |
예제로 배우는 Dart & Flutter 시작하기 ② - Dart 기본 문법 마스터하기 (1) | 2025.03.28 |
예제로 배우는 Dart & Flutter 시작하기 ① - Dart 소개 및 개발 환경 구축 (1) | 2025.03.28 |
※ 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Webpack
- App Router
- PostgreSQL
- nodejs
- 프론트엔드
- SEO 최적화
- Python
- 개발블로그
- github
- llm
- Ktor
- 웹개발
- NestJS
- CI/CD
- gatsbyjs
- Docker
- SEO최적화
- AI챗봇
- REACT
- 백엔드개발
- nextJS
- 관리자
- fastapi
- LangChain
- seo 최적화 10개
- Next.js
- rag
- kotlin
- Prisma
- 프론트엔드면접
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함
반응형