IMCAT.DEV
로그인 가입
Dart 입문 함수형

Dart 함수 매개변수

Dart 함수 매개변수 — 초급

함수 매개변수

1. 도입 (왜 배워야 하는가)

함수는 프로그램의 기본 단위로, 특정 작업을 수행하는 코드 블록입니다. 매개변수는 함수가 외부에서 데이터를 받을 수 있게 해주는 중요한 요소입니다. 이 개념을 이해하지 못하면, 복잡한 기능을 구현할 때 필요한 데이터를 함수에 전달할 수 없어 비효율적인 코드를 작성하게 됩니다. 예를 들어, 쇼핑몰 애플리케이션에서 장바구니에 상품을 추가하는 기능을 구현할 때, 매개변수를 활용하지 않으면 상품 정보를 함수에 전달할 수 없어 기능이 제대로 작동하지 않을 것입니다.

2. 핵심 개념 설명

매개변수(Parameter)

매개변수는 함수가 외부에서 값을 받아들이기 위한 변수입니다. 실생활에서 비유하자면, 레스토랑에서 음식을 주문할 때 메뉴판이 매개변수 역할을 합니다. 주문자가 원하는 음식을 메뉴에서 선택하면, 주방에게 필요한 정보를 전달하게 되는 것입니다.

매개변수 가변성

Dart에서는 매개변수가 필수, 선택적, 기본값을 가질 수 있습니다. 아래는 관련 용어 정리입니다.

용어설명
필수 매개변수함수 호출 시 반드시 전달해야 하는 매개변수
선택적 매개변수전달하지 않아도 되는 매개변수
기본값매개변수를 전달하지 않을 경우 사용할 값

3. 기본 코드 예제

가장 간단한 함수 매개변수 사용법을 보여주는 예제입니다.

void greet(String name) {
  print("안녕하세요, $name!");
}

// 함수 호출
greet("홍길동");

위 코드를 실행했을 때의 결과:

안녕하세요, 홍길동!

코드 한 줄씩 동작 설명

  1. void greet(String name) { - greet라는 이름의 함수를 정의합니다. 이 함수는 name이라는 문자열 매개변수를 받습니다.
  2. print("안녕하세요, $name!"); - 매개변수 name을 포함하여 인사 메시지를 출력합니다.
  3. greet("홍길동"); - greet 함수를 호출하면서 "홍길동"이라는 문자열을 전달합니다.
  4. 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. 정리

  5. 매개변수는 함수가 외부 데이터를 받을 수 있도록 해줍니다.
  6. 필수, 선택적 매개변수와 기본값을 이해하고 활용할 수 있어야 합니다.
  7. 실무에서 매개변수를 활용하여 다양한 기능을 구현할 수 있습니다.

다음에 학습하면 좋은 주제는 함수의 반환값입니다. 함수가 작업을 수행한 후 결과를 반환하는 방법을 배우면 더욱 강력한 코드를 작성할 수 있습니다.