학습
Dart 함수 매개변수
Dart 함수 매개변수 — 초급
함수 매개변수
1. 도입 (왜 배워야 하는가)
함수는 프로그램의 기본 단위로, 특정 작업을 수행하는 코드 블록입니다. 매개변수는 함수가 외부에서 데이터를 받을 수 있게 해주는 중요한 요소입니다. 이 개념을 이해하지 못하면, 복잡한 기능을 구현할 때 필요한 데이터를 함수에 전달할 수 없어 비효율적인 코드를 작성하게 됩니다. 예를 들어, 쇼핑몰 애플리케이션에서 장바구니에 상품을 추가하는 기능을 구현할 때, 매개변수를 활용하지 않으면 상품 정보를 함수에 전달할 수 없어 기능이 제대로 작동하지 않을 것입니다.
2. 핵심 개념 설명
매개변수(Parameter)
매개변수는 함수가 외부에서 값을 받아들이기 위한 변수입니다. 실생활에서 비유하자면, 레스토랑에서 음식을 주문할 때 메뉴판이 매개변수 역할을 합니다. 주문자가 원하는 음식을 메뉴에서 선택하면, 주방에게 필요한 정보를 전달하게 되는 것입니다.
매개변수 가변성
Dart에서는 매개변수가 필수, 선택적, 기본값을 가질 수 있습니다. 아래는 관련 용어 정리입니다.
| 용어 | 설명 |
|---|---|
| 필수 매개변수 | 함수 호출 시 반드시 전달해야 하는 매개변수 |
| 선택적 매개변수 | 전달하지 않아도 되는 매개변수 |
| 기본값 | 매개변수를 전달하지 않을 경우 사용할 값 |
3. 기본 코드 예제
가장 간단한 함수 매개변수 사용법을 보여주는 예제입니다.
void greet(String name) {
print("안녕하세요, $name!");
}
// 함수 호출
greet("홍길동");
위 코드를 실행했을 때의 결과:
안녕하세요, 홍길동!
코드 한 줄씩 동작 설명
void greet(String name) {-greet라는 이름의 함수를 정의합니다. 이 함수는name이라는 문자열 매개변수를 받습니다.print("안녕하세요, $name!");- 매개변수name을 포함하여 인사 메시지를 출력합니다.greet("홍길동");-greet함수를 호출하면서 "홍길동"이라는 문자열을 전달합니다.- 매개변수는 함수가 외부 데이터를 받을 수 있도록 해줍니다.
- 필수, 선택적 매개변수와 기본값을 이해하고 활용할 수 있어야 합니다.
- 실무에서 매개변수를 활용하여 다양한 기능을 구현할 수 있습니다.
4. 실전 활용 예제
예제 1: 쇼핑몰에서 장바구니에 상품 추가하기
void addToCart(String productName, int quantity) {
print("$productName이(가) $quantity개 장바구니에 추가되었습니다.");
}
// 함수 호출
addToCart("사과", 3);
위 코드를 실행하면:
사과이(가) 3개 장바구니에 추가되었습니다.
이 예제는 사용자가 상품 이름과 수량을 입력하여 장바구니에 추가하는 기능을 구현합니다.
예제 2: 계산기 함수
double calculateArea(double width, double height) {
return width * height;
}
// 함수 호출
print("사각형의 면적: ${calculateArea(5.0, 10.0)}");
위 코드를 실행하면:
사각형의 면적: 50.0
사각형의 너비와 높이를 매개변수로 받아 면적을 계산하는 예제입니다.
5. 흔한 실수와 주의사항
1. 매개변수를 잘못 전달하는 경우
잘못된 코드:
greet(); // 매개변수를 전달하지 않음
올바른 코드:
greet("이순신"); // 매개변수를 올바르게 전달
주의사항: 필수 매개변수는 반드시 전달해야 합니다.
2. 선택적 매개변수의 사용
잘못된 코드:
void greet(String name, [String greeting]) {
print("$greeting, $name!"); // greeting이 null일 경우 에러 발생
}
올바른 코드:
void greet(String name, [String greeting = "안녕하세요"]) {
print("$greeting, $name!");
}
주의사항: 선택적 매개변수에 기본값을 설정하면 더 안전하게 사용할 수 있습니다.
6. 정리
다음에 학습하면 좋은 주제는 함수의 반환값입니다. 함수가 작업을 수행한 후 결과를 반환하는 방법을 배우면 더욱 강력한 코드를 작성할 수 있습니다.