[Dart] 함수 활용 방법

천우산__ ㅣ 2024. 8. 28. 14:03

프로그래밍을 하다 보면 필수적으로 사용자 요구에 맞는 함수를 구성해야 할 필요가 있다.

물론 Dart 또한 함수를 만들고 활용이 가능하다. 

이번 글에서는 함수를 만드는 방법에 관련해서 알아보기로 한다.

 

 

1. 기본 활용 방법

함수 이름 앞에 return 될 데이터 타입을 명시한 후 함수 이름을 입력한다. (return 값이 없는 경우: void)

그 후, 소괄호 안에 입력 받을 파라미터를 입력한다.

이  때, 입력 받을 매개 변수의 데이터 타입을 명시해도 되고, 명시하지 않아도 된다.

하지만, 명시하는 쪽이 프로그래밍 중 오류를 찾아내기 더 쉬워 보인다.

그 다음, 중괄호 내 표현식을 만들어 준다.

String test(String name) => "Hello, $name";

void main() {
  var result = test("chunws");
  print(result); // Hello, chunws
  
}

 

 

2. 함수 내용이 한 줄 일 때

위의 예제처럼 Return 될 내용이 한 줄 인 경우, 중괄호를 생략하고, 화살표 ( => ) 로 표현할 수 있다.

String test(String name) {
  return "Hello, $name";
}

void main() {
  var result = test("chunws");
  print(result); // Hello, chunws
  
}

 

3. 매개 변수 이름 지정

함수가 받아야 하는 매개 변수가 1개 뿐이라면 함수 사용 시 매개 변수 입력을 혼동할 경우는 거의 없을 것이다.

하지만, 함수가 받아야 하는 매개 변수가 3개, 4개 등 많아 질 수록 이를 기억하기는 어려울 것이다.

물론, 매개 변수 이름을 지정하지 않아도 된다.

예를 들면

String test(String name, int age) {
  return "Hi, $name, you $age years old";
}

void main() {
  var result = test("chunws", 10)
  print(result); // Hi, chunws, you 10 years old
}

위와 같이, 매개 변수의 순서에 맞게 데이터를 입력하면 된다.

단, 이 방법은 매개 변수를 입력할 때 순서를 반드시 준수해야 한다.

 

입력에 구애받지 않고 작성하기 위해서는 아래와 같이 수정한다.

// 매개 변수 기본 값이 없을 때
String test({String? name, int? age}) {
  return "Hi, $name, you $age years old";
}

void main() {
  var result = test(
    age : 10,
    name : "chunws",
  );
  print(result);
}

// 매개 변수 기본 값이 있을 때
String test({String name = "aaa" , int age = 1}) {
  return "Hi, $name, you $age years old";
}

void main() {
  var result = test(
    age : 10,
    name : "chunws",
  );
  print(result);
}

먼저, 함수에서 매개 변수를 받는 부분을 중괄호로 덮어준다.

그 다음 매개 변수가 null 이 되는 것을 허용할 것인지 (사용자로부터 입력을 받지 못한 경우)를 정해줘야 하는데,

null 이 되는 것을 허락하는 경우에는 자료형 뒤에 ?를 추가해서 해당 매개 변수는 null이 될 수 있다고 명시하고,

그렇지 않은 경우에는 ?를 추가하는 대신에, 기본이 될 값을 입력한다.

위와 같은 방식으로 매개 변수 이름을 명시할 수 있으며, 이렇게 만든 함수는 매개 변수 입력 순서를 지키지 않아도 정상 동작한다.

 

'App > Dart' 카테고리의 다른 글

[Dart] 자료형과 자료구조 알아보기  (1) 2024.08.27
[Dart] 변수 타입 알아보기  (0) 2024.08.26