본문 바로가기
Dart/Dart Programming language

[초급] Dart 기본 문법/함수 정의 및 호출하기: 기초부터 심화까지

by Maccrey Coding 2024. 9. 2.
반응형

 

함수는 프로그래밍에서 가장 기본적이고 중요한 개념 중 하나로, 특정 작업을 수행하는 코드 블록을 의미합니다. Dart에서도 함수를 사용하여 코드를 모듈화하고 재사용성을 높일 수 있습니다.

이 블로그에서는 Dart에서 함수를 정의하고 호출하는 방법을 초보자도 쉽게 이해할 수 있도록 설명하겠습니다.

1. Dart에서 함수란?

함수는 특정 작업을 수행하는 코드 블록으로, 필요할 때마다 호출할 수 있습니다. Dart에서는 함수가 main() 함수에서 시작되며, 이 함수는 Dart 애플리케이션의 진입점입니다.

void main() {
  print('Hello, Dart!');
}

이 main() 함수는 Dart 프로그램이 실행되면 자동으로 호출됩니다.

2. 함수 정의하기

Dart에서 함수를 정의하는 방법은 매우 간단합니다. 기본적인 함수 정의 구조는 다음과 같습니다.

리턴타입 함수이름(매개변수들) {
  // 실행할 코드
  return 리턴값;
}

예시: 기본적인 함수 정의

int add(int a, int b) {
  return a + b;
}

이 함수는 두 개의 정수 a와 b를 더한 값을 반환합니다.리턴 타입과 리턴값

  • 리턴 타입: 함수가 반환하는 값의 데이터 타입을 명시합니다. 예를 들어, 정수를 반환하면 int, 문자열을 반환하면 String을 사용합니다.
  • 리턴값: 함수의 실행 결과로 반환되는 값입니다. return 키워드를 사용하여 지정합니다.

매개변수

  • 매개변수: 함수가 처리할 데이터를 입력받기 위한 변수들입니다. 함수 정의 시 괄호 안에 작성합니다.

3. 함수 호출하기

함수를 정의한 후, 함수를 호출하여 실제로 실행할 수 있습니다. 함수 호출은 함수 이름을 사용하며, 필요한 매개변수를 전달합니다.

예시: 함수 호출하기

void main() {
  int sum = add(5, 3);
  print('합계: $sum');
}

int add(int a, int b) {
  return a + b;
}

이 코드에서는 add(5, 3) 함수가 호출되고, 5와 3이 매개변수로 전달됩니다. 그 결과 8이 반환되어 sum 변수에 저장됩니다.

4. 매개변수와 인자의 차이

  • 매개변수 (Parameter): 함수 정의 시 선언하는 변수로, 함수를 호출할 때 전달받는 데이터를 담습니다.
  • 인자 (Argument): 함수를 호출할 때 실제로 전달되는 데이터입니다.

예시

void greet(String name) {  // 'name'은 매개변수
  print('Hello, $name!');
}

void main() {
  greet('Alice');  // 'Alice'는 인자
}

5. 선택적 매개변수와 기본값

Dart에서는 선택적 매개변수를 정의할 수 있으며, 이때 기본값을 설정할 수 있습니다. 선택적 매개변수는 중괄호 {}로 감싸서 정의합니다.

예시: 선택적 매개변수와 기본값

void greet({String name = 'Guest'}) {
  print('Hello, $name!');
}

void main() {
  greet();          // 기본값 'Guest' 사용
  greet(name: 'Bob'); // 'Bob' 전달
}

이 예제에서 greet() 함수를 호출할 때 매개변수를 전달하지 않으면 기본값인 'Guest'가 사용됩니다.

6. 익명 함수와 람다 표현식

Dart에서는 함수 이름 없이 정의할 수 있는 익명 함수와, 이를 더욱 간결하게 표현할 수 있는 람다 표현식을 제공합니다.

예시: 익명 함수

var multiply = (int a, int b) {
  return a * b;
};

void main() {
  print(multiply(4, 5)); // 출력: 20
}

예시: 람다 표현식

람다 표현식은 화살표(=>)를 사용하여 간결하게 함수 표현식을 작성할 수 있습니다.

var multiply = (int a, int b) => a * b;

void main() {
  print(multiply(4, 5)); // 출력: 20
}

7. 함수의 리턴 타입

Dart 함수는 명시적인 리턴 타입을 가지며, 리턴 타입이 void인 경우 반환값이 없습니다.

하지만 모든 함수가 리턴 타입을 명시할 필요는 없습니다. Dart는 리턴 타입을 자동으로 추론할 수 있습니다.

예시: void 리턴 타입

void printMessage() {
  print('Hello, Dart!');
}

이 함수는 아무런 값을 반환하지 않고, 단지 메시지를 출력하는 역할만 합니다.

 

Dart에서 함수는 프로그램의 핵심 구성 요소입니다. 함수 정의와 호출 방법을 이해하면, 보다 모듈화된 코드 작성이 가능해지며, 코드의 재사용성도 높아집니다. 다양한 함수 구조와 매개변수 사용법을 실습해보면서, 함수 활용 능력을 키워보세요!

구독!! 공감과 댓글은 저에게 큰 힘이 됩니다.

Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.

 

Tester Share [테스터쉐어] - Google Play 앱

Tester Share로 Google Play 앱 등록을 단순화하세요.

play.google.com

 

 

반응형