■ with 키워드를 사용해 클래스에 다른 클래스 기능을 확장하기 ▶ 예제 코드 (DART)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
class Hero { String name = '영웅'; void run() { print('달리다.'); } } abstract class Monster { void attack(); } class Goblin implements Monster { @override void attack() { print('고블린 공격'); } } class DarkGoblin extends Goblin with Hero {} void main() { DarkGoblin goblin = DarkGoblin(); goblin.attack(); print(goblin.name); } |
■ implements 키워드를 사용해 멀티 추상 클래스를 구현하는 방법을 보여준다. ▶ 예제 코드 (DART)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
abstract class Monster { void attack(); } abstract class Flyable { void fly(); } class Bat implements Monster, Flyable { @override void attack() { print('박쥐 공격'); } @override void fly() { print('날개짓을 하다.'); } } |
■ implements 키워드를 사용해 추상 클래스를 구현하는 방법을 보여준다. ▶ 예제 코드 (DART)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
abstract class Monster { void attack(); } class Goblin implements Monster { @override void attack() { print('고블린 공격'); } } class Bat implements Monster { @override void attack() { print('박쥐 공격'); } } |
■ extends 키워드를 사용해 서브 클래스가 수퍼 클래스를 상속하는 방법을 보여준다. ▶ 예제 코드 (DART)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
class Hero { String name = '영웅'; void run() { print('달리다.'); } } class SuperHero extends Hero { @override void run() { super.run(); fly(); } void fly() { print('날다.'); } } |
■ for문을 사용하는 방법을 보여준다. ▶ 예제 코드 (DART)
|
void main() { List<String> itemList = ['짜장면', '짬뽕', '볶음밥']; print(itemList.runtimeType.toString()); for (int i = 0; i < itemList.length; i++) { print(itemList[i]); } } |
■ getter/setter 메소드를 사용하는 방법을 보여준다. ▶ 예제 코드 (DART)
|
class Rectangle { num left, top, width, height; Rectangle(this.left, this.top, this.width, this.height); num get right => left + width; set right(num value) => left = value - width; num get bottom => top + height; set bottom(num value) => top = value - height; } |
■ ? 기호로 삼항 연산자를 사용하는 방법을 보여준다. ▶ 예제 코드 (DART)
|
void main() { bool isRainy = true; var todo = isRainy ? '집에서 쉰다.' : '야외로 나간다.'; print(todo); } |
■ switch문을 사용하는 방법을 보여준다. ▶ 예제 코드 (DART)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
enum Status { Initialized, Authenticating, Authenticated, Unauthenticated } void main() { var status = Status.Authenticated; switch(status) { case Status.Initialized: print('초기화'); break; case Status.Authenticated: print('인증'); break; case Status.Authenticating: print('인증 처리중'); break; case Status.Unauthenticated: print('미인증'); break; } } |
■ if문을 사용하는 방법을 보여준다. ▶ 예제 코드 (DART)
|
void main() { String text = 'hello'; if (text is int) { print('정수'); } else if (text is double) { print('실수'); } else if (text is String) { print('문자열'); } else { print('해당 무'); } } |
■ { } 기호로 이름 지정/선택 매개 변수를 사용하는 방법을 보여준다. ▶ 예제 코드 (DART)
|
void printPerson(String name, {int age = 10}) { print('$name은 $age살입니다.'); } void main() { printPerson('홍길동', age: 20); printPerson('홍길동'); } |
■ { } 기호로 이름 지정/선택 매개 변수를 사용하는 방법을 보여준다. ▶ 예제 코드 (DART)
|
void printPerson({String name = '홍길동', int age = 10}) { print('$name은 $age살입니다.'); } void main() { printPerson(name: '김철수', age: 20); printPerson(name: '김철수'); printPerson(age: 20); printPerson(); } |
■ $ 기호로 문자열 보간법을 사용하는 방법을 보여준다. ▶ 예제 코드 (DART)
|
String _name = '홍길동'; int _age = 20; void main() { print('$_name은 $_age살입니다.'); print('$_name은 ${_name.length} 글자입니다.'); print('10년 후에는 ${_age + 10}살입니다.'); } |
■ is/is! 키워드를 사용해 타입을 검사하는 방법을 보여준다. ▶ 예제 코드 (DART)
|
void main() { int a = 10; if (a is int) { print('a의 타입은 int 입니다.'); } String text = 'hello'; if (text is! int) { print('text의 타입은 int가 아닙니다.'); } } |
■ as 키워드를 사용해 형 변환하는 방법을 보여준다. ▶ 예제 코드 (DART)
|
void main() { num n = 10; int i = n as int; print(i); } |
■ + 연산자를 사용해 문자열을 결합하는 방법을 보여준다. ▶ 예제 코드 (DART)
|
void main() { String firstName = '길동'; String lastName = '홍'; print(lastName + ' ' + firstName); } |
■ assert 함수를 사용해 계산 결과를 검사하는 방법을 보여준다. ▶ 예제 코드 (DART)
|
assert(2 + 3 == 5); assert(5 - 2 == 3); assert(3 * 5 == 15); assert(5 / 2 == 2.5); assert(5 ~/ 2 == 2); assert(5 % 2 == 1); |
■ final 키워드를 사용하는 방법을 보여준다. ▶ 예제 코드 (DART)
|
final String name = '홍길동'; 또는 final name = '홍길동'; |
■ var 키워드를 사용해 타입을 추론하는 방법을 보여준다. ▶ 예제 코드 (DART)
|
var i = 10; // int 타입 var d = 10.0; // double 타입 var s = 'hello'; // 문자열 var s2 = "hello"; // 문자열 var b = true; // 불리언 타입 var b2 = i < 10; // 불리언 타입 var b3 = s.isEmpty; // 불리언 타입 |
■ num 타입을 사용하는 방법을 보여준다. ▶ 예제 코드 (DART)
|
void main() { int a = 10; double b = 20.0; num c = a; print(c); c = b; print(c); } |
■ 주석(comment)을 사용하는 방법을 보여준다. ▶ 예제 코드 (DART)
|
// 한 줄 주석 입니다. /* 여러 줄 주석 입니다. */ /// 문서 주석 입니다. |
■ main 함수를 사용하는 방법을 보여준다. ▶ 예제 코드 (DART)
|
void main() { print("Hello, World!"); } |
■ choco install 명령을 사용해 다트 SDK를 설치하는 방법을 보여준다. ▶ 실행 명령