제어문은 프로그램의 실행 흐름을 제어하는 구문입니다. 보통 프로그래밍 언어에서 제공하는 if~else, for, while, do~while, break, continue, switch~case 등이 제어문이며, 다트를 비롯해 대부분 언어에서 비슷하게 동작합니다. 이 절에서는 프로그램의 실행 흐름에서 다른 언어와 차이 나는 부분만 살펴보겠습니다. for 반복문에서 in 연산자for 문은 어떤 구문을 반복해서 실행할 때 이용하며 반복해서 실행할 조건을 다음처럼 초기화; 조건; 증감 형태로 작성합니다.// for 문 사용 예main() { var list = [10, 20, 30]; for(var i = 0; i ▶ 실행 결과102030 그런데 이런 형태를 in 연산자를 사용해 간소화할 수 있습니다. f..
Flutter
대부분 프로그래밍 언어는 비슷한 연산자를 제공합니다. 사칙 연산자 +,-,*,/를 제공하며 대입 연산자 =, +=, -=, /=, 비교 연산자 ==, != 등을 제공합니다. 이런 연산자들은 다트 언어에서도 똑같습니다. 이번 절에서는 이런 기초 연산자를 제외하고 몇 가지 연산자를 살펴보겠습니다. 나누기 연산자 - ~/다트에서 나누기 연산자는 /와 ~/이 있습니다. / 연산자는 나누기 결과를 실수로 반환하며, ~/ 연산자는 나누기 결과를 정수로 반환합니다. 즉, ~/ 연산 결과는 소수점 아래를 버립니다.// 나누기 연산자main() { int a = 8; print('a / 5 = ${a / 5}'); print('a ~/ 5 = ${a ~/ 5}');}▶ 실행 결과a / 5 = 1.6a ~/ 5 ..
게터와 세터 함수는 일반적으로 어떤 데이터를 가져오거나 변경하는 함수를 의미합니다. 다트 언어에서는 데이터를 가져올 함수에 get 예약어를 추가하고, 데이터를 변경할 함수에 set 예약어를 추가하면 함수를 변수처럼 이용할 수 있습니다. 다음 코드에서는 함수를 2개 선언했는데 일반 함수와 다르게 get과 set 예약어를 추가했습니다. get 예약어를 추가한 함수는 데이터를 가져오는 게터이므로 매개변수 부분을 선언할 수 없습니다. 반면에 set 예약어를 추가한 함수는 데이터를 변경하는 세터이므로 매개변수가 필요합니다. 이 매개변숫값으로 데이터를 변경합니다.// 게터와 세터 선언String _name = 'Hello';String get name { return _name.toUpperCase();}set ..
다트에서는 모든 데이터가 객체이므로 함수도 객체입니다. 그리고 함수를 대입할 수 있는 객체를 함수 타입이라고 하며 Function으로 선언합니다. 다음 코드에서는 some()이라는 함수를 선언한 후 이 함수를 Function data2라고 선언한 함수 타입 객체에 대입했습니다.// 함수 타입 선언void some() { }Function data2 = some; 이처럼 함수가 객체이므로 다른 객체에 대입하거나 함수의 매개변수, 반환값 등으로 사용할 수 있습니다. 다음 코드에서 testFun() 함수는 매개변수로 함수를 전달받아 함수를 반환합니다. 즉, 매개변수와 반환값이 모두 Function 타입입니다.// 함수를 활용한 예int plus(int no) { return no + 10;}int multi..