기본 문법
int a = 10;
if (a is int) {
print("정수");
}
var c = 30.5;
int d = c as int; // double -> int 에러 발생
class MyClass {
static bool isEven(int number) {
return number % 2 == 0;
} // 클래스 내부 메서드를 static 키워드를 통해 최상위 함수처럼 사용
}
void main() {
print(MyClass.isEven(10)); // static 메서드를 사용.
}
(number) => number % 2 == 0;
void something({String name, int age}) {}
void main() {
something(name: '홍길동', age: 10);
something(name: '홍길동');
something(age: 10);
something();
}
void something(String name, {int age}) {}
void main() {
something('홍길동', age: 10); // ok
something('홍길동'); //ok
something(age: 10) // error. 필수 매개변수에 값이 전달되지 않음
something(); // error. 위와 같은 이유
}
void something(String name, {int age = 10}) {}
void main() {
something('홍길동', age: 10); // 홍길동, 10살
something('홍길동'); // 홍길동, 10살
}
객체 지향 프로그래밍
class Person{
String name;
int age;
void addOneYear() {
age++;
}
}
var person = Person();
person.age = 10;
person.addOneYear();
class Person{
String name;
int _age;
void addOneYear() {
_age++;
}
}
var person = Person();
person._age = 10; // 에러 발생