[Dart]함수

한상욱·2022년 12월 6일
0

Dart문법

목록 보기
7/15
post-thumbnail

함수란?

코딩을 공부하다보면 연산을 지나와서 반복문, if문을 지나면 함수라는 단계가 나오게 됩니다. 함수란 무엇일까요? 간단하게 얘기하자면 함수는 자판기입니다. 자판기에 지폐를 넣고 원하는 음료의 버튼을 누르면 음료가 나옵니다. 함수란 입력을 넣었을 때, 출력을 얻는 기능인 것이죠. 그리고 함수는 코드를 짤 때, 더욱더 편리하고 가독성 좋게 만들어줍니다. 그러면 본격적인 함수의 구조를 파해쳐 보겠습니다.

함수 선언

함수를 선언할 때는 함수의 반환타입, 함수의 이름, 파라미터를 기입합니다. 여기서 파라미터는 꼭 존재해야되는 건 아닙니다. 제가 인사를 할 수 있는 sayHello()라는 함수를 정의하고 인사를 출력해보겠습니다.

void main() {
  sayHello(); //함수 실행
}

void sayHello() {//함수 정의
  print('안녕하세요?');
}

>> 안녕하세요?

위 예시처럼 함수를 선언하게 됩니다. 위 예시에서는 void가 보일겁니다. void는 반환값이 존재하지 않는 함수를 의미합니다. 그렇기에 return을 선언하면 에러가 발생합니다. 반대로 반환값이 존재하면 반환값에 맞는 타입을 String, num, in, 등등 으로 선언하면 됩니다. 뒤에 포스팅에서 다룰거지만, 특수한 경우 제너릭을 이용해서 함수의 반환타입을 정의하기도 합니다.

이번에는 파라미터를 받아서 이름과 인사말을 출력해보겠습니다.

void main() {
  sayHello('한상욱');
}

void sayHello(String name) {
  print('안녕하세요? 저는 $name입니다.');
}

>> 안녕하세요? 저는 한상욱입니다.

이번에는 이전 예시와 다르게 함수이름 뒤 ()안으로 파라미터가 보입니다. 저런식으로 입력받는 파라미터의 데이터타입, 데이터명을 기입해서 함수 내에서 활용할 수 있습니다. 그리가 파라미터는 여러개여도 상관없습니다.

void main() {
  sayHello('한상욱', 24);
}

void sayHello(String name, int age) {
  print('안녕하세요? 저는 $name이고, $age살입니다.');
}

>> 안녕하세요? 저는 한상욱이고, 24살입니다.
profile
자기주도적, 지속 성장하는 모바일앱 개발자가 되기 위해

0개의 댓글