Flutter/개발 정보

Dart에서 여러 파라미터 정리

일놀 2023. 3. 11. 20:25
728x90
반응형

파라미터는 매개변수를 의미하는데 여러 종류의 파라미터가 있다

 

positional parameter - 순서가 중요한 파라미터

optional parameter - 있어도 되고 없어도 되는 파라미터

named parameter - 이름이 있는 파라미터 (순서가 중요하지 않음)

 

void main() {
  sum(10, 20, 30);    // 결과 60
  
  sum2(10);           
  sum2(10, 20, 30);   
  sum2_1(10);         // 결과 40
  
  // 둘다 동일
  sum3(x:10, y:20, z:40);   // 결과 70
  sum3(y:20,z:40, x:10);    // 결과 70
  
  sum3_1(x:10, y:20);       // 결과 60
  sum3_1(x:10, y:20, z:20); // 결과 50
  
  sum4(10, y:20);     // 결과 60
}

// positional parameter = 순서가 중요한 파라미터
sum(int x, int y, int z){
  int sum = x + y + z;
  print('sum - $sum');  
}

// ------------------------------------------


// optional parameter - 있어도 되고 없어도 되는 파라미터
// 없을 수도 있는데 없게 되면 null이 되므로 null체크 해주어야함
sum2(int x, [int? y, int? z]){
  // y와 z가 null 일수 있으므로 연산에서는 에러 발생
  // int sum = x + y + z;   
  int sum = x;
  print('sum2 - $sum'); 
}

// 파라미터 값이 없을 경우 초기값을 설정 해 줄 수 있음
// 단, 파라미터로 값이 들어오면 초기값은 무시 됨
sum2_1(int x, [int y = 10, int z = 20]){
  int sum = x + y + z;
  print('sum2 - $sum');   
}


// -------------------------------------------


// named parameter - 이름이 있는 파라미터(순서 중요x)
sum3({
  required int x,
  required int y,
  required int z
}){
  int sum = x + y + z;
  print('sum3 - $sum');
}


// named parameter 에서 optional parameter 사용
sum3_1({
  required int x,
  required int y,
  int z = 30
}){
  int sum = x + y + z;
  print('sum3 - $sum');
}


//---------------------------------------------------


// 모든 파라미터 사용 예제
sum4( int x, {
  required int y,
  int z = 30
}){
  int sum = x + y + z;
  print('sum3 - $sum');
}

 

 

 

 

 

728x90
반응형