반응형
사용 툴 - DartPad
DartPad
dartpad.dev
DartPad 정보 : Based on Flutter 3.3.10 Dart SDK 2.18.6
함수는 반복 사용하는 로직을 묶어 공통으로 사용할 수 있게 해 줍니다.
아래와 같이 1부터 10까지 더하기와 1부터 100까지 더하는 코드가 있습니다.
void main() {
int nSum = 0;
for(int i = 1; i <= 10; i++) {
nSum = nSum + i;
}
print(nSum);
// >> 55
nSum = 0;
for(int j = 1; j <= 100; j++) {
nSum = nSum + j;
}
print(nSum);
// >> 5050
}
위 코드에서 10까지 더하는 부분은 add_10() 함수로 만들고 100까지 더하는 부분은 add_100() 함수로 만들 수 있습니다.
void main() {
add_10();
add_100();
}
add_10() {
int nSum = 0;
for(int i = 1; i <= 10; i++) {
nSum = nSum + i;
}
print(nSum);
// >> 55
}
add_100() {
int nSum = 0;
for(int j = 1; j <= 100; j++) {
nSum = nSum + j;
}
print(nSum);
// >> 5050
}
아래 코드와 같이 add_10() 함수와 add_100() 함수를 함수로 값을 넘겨 주는 인자 값(파라미터)을 사용해서 한 함수로 만들 수 있습니다.
void main() {
add(10);
// >> 55
add(100);
// >> 5050
}
add(int nLimit) {
int nSum = 0;
for(int i = 1; i <= nLimit; i++) {
nSum = nSum + i;
}
print(nSum);
}
add(int nLimit) 함수에서 결과 값을 받아서 main() 함수에서 출력할 수 있습니다.
void main() {
int nMainSum = 0;
nMainSum = add(10);
print(nMainSum);
// >> 55
nMainSum = add(100);
print(nMainSum);
// >> 5050
}
int add(int nLimit) {
int nSum = 0;
for(int i = 1; i <= nLimit; i++) {
nSum = nSum + i;
}
return nSum;
}
함수를 만드는 과정 대략적으로 위 코드들과 같이 진행됩니다.
함수 인자 (function parameter) 종류
- Required parameter
위 코드에서 사용한 함수가 일반적인 경우입니다.
add(int nLimit, String strName, int nAge, int nBirth);
위 add 함수를 호출할때는 반드시 파라미터 순서와 타입에 맞게 값을 전달해야 합니다. - Optional parameter
- Optional positional parameter
add(int nLimit, String strName, int nAge, [int nBirth]);
위 함수와 같이 nBirth를 []로 감싸면 nBirth는 호출해도 되고 안해도 되는 파라미터가 됩니다.
즉 add 파라이터를 4개 다 전달해도 되고 nBirth를 빼고 3개만 전달해도 됩니다. - Optional Default Parameter
Optional positional parameter에서 []로 감싼 nBirth 파라미터에 default 값을 할당해 줄수 있습니다.
add(int nLimit, String strName, int nAge, [int nBirth = 2020]);
add 함수에 4가지 파라미터 값을 전달하면 nBirth는 전달 받은 값이 할당됩니다.
만약 add 함수에 nBirth는 빼고 3가지 파라미터만 전달이 되면 default로 할당한 2020이 할당됩니다. - Optional Named Parameter
add( int nLimit, String strName, {int nAge, int nBirth} );
함수 파라이터를 {}로 감싸는 형식입니다.
add 함수 사용법은 add(10, "John"); 또는 add(10, "John", nAge : 2, nBirth = 2020); 이렇게 호출할 수 있습니다.
그리고 add(10, "John", nBirth = 2020, nAge : 2); 처럼 {} 내 파리미터들은 순서를 바꾸어도 상관이 없습니다.
이름과 할당할 타입만 정확히 일치하면 됩니다.
- Optional positional parameter
반응형
'프로그램 개발해서 돈벌기 > flutter' 카테고리의 다른 글
flutter upgrade와 zsh: command not found: flutter (0) | 2022.12.30 |
---|---|
9. typedef - 완전 초보 Dart 언어 기초 문법 : flutter (0) | 2022.12.23 |
7. for, for / in, forEach, while, do / while - 완전 초보 Dart 언어 기초 문법 : flutter (0) | 2022.12.23 |
6. if, switch - 완전 초보 Dart 언어 기초 문법 : flutter (0) | 2022.12.23 |
5. 연산자 (Operators) - 완전 초보 Dart 언어 기초 문법 : flutter (0) | 2022.12.22 |
댓글