반응형

DART 30

[Dart] const과 final 차이

const와 final 두 값 모두 final 과 const 는 한 번 설정한 값을 변경할 수 없다는 공통점이 있다. 차이점이라면 const 의 경우, 컴파일 타임에서 상수를 정의할 수 있다. 즉, const 로 정의한 상수는 런타임에서 정의되는 값을 설정할 수 없다는 의미다. 예를 들어 DateTime.now()과 같은 런타임에서 호출 될 때마다 결과 값이 다른 경우는 const 로 설정할 수 없다. 결국 const 로 설정하는 값은 대부분 리터럴이다. 반면, final 은 DateTime.now()와 같이 런타임에서 결정되는 값도 설정할 수 있다.

DART 2022.11.29

[노마드코더 : Dart 시작하기] #4.7 Abstract Classes

추상 메서드/클래스를 선언하고 다른 클래스가 그 추상메서드/클래스를 extends 상속할 경우에 반드시 그 클래스는 해당 클래스가 가진 메서드를 포함해야 한다. 하지만 추상클래스/메서드의 '추상'의 의미처럼 클래스마다 그 내용은 각각 다르게 정의할 수 있다. abstract class Human { void walk(); // what's the signiture of this // what's the return value // they let us know what other class should have } enum Team { red, blue, Portugal, Manchester_United } enum XpLevel { beginner, intermediate, advanced } //따옴..

DART 2022.11.21

[노마드코더 : Dart 시작하기] #4.6 Enums

Enums는 작은 오타와 같은 것들 등 실수를 하는 걸 방지하게 해준다. 더 안전할 수 있다. Team 변수가 red, blue 두 가지 밖에 없다면 Team을 enum에 할당해주어 실수를 방지한다. 즉 Enums는 그룹을 만들어 주어 변수에 할당할 때 더욱 확실하게 구분하게 하는 것이다. enum Team { red, blue, Portugal, Manchester_United } enum XpLevel { beginner, intermediate, advanced } //따옴표로 감쌀 필요가 없다. class Player { String name; XpLevel xp; Team team; Player({required this.name, required this.xp, required this.tea..

DART 2022.11.21

[노마드코더 : Dart 시작하기] #4.5 Cascade Notation

void main() { var nico = Player(name: "nico", team: 'blue', xp: 3000) ..team = 'green' ..name = 'Cristian' ..team = 'Ecuador'; } 해당 과정을 통해서 ronaldo.name 일일이 바꾸어주어야 하는 것을 두 번째 코드와 같이 간단하게 바꿀 수 있다. void main() { var ronaldo = Player(name: 'Ronaldo', team: 'Portugal', xp: 10000); ronaldo.sayHello(); ronaldo.name = 'Cristian Ronaldo'; ronaldo.team = 'Manchester United'; ronaldo.xp = 15000; } void ma..

DART 2022.11.21

[노마드코더 : Dart 시작하기] #4.3 Named Constructors

다시 듣고 해보기~! 복습 Player.createRedPlayer({ required String name, required int age, }) : this.age = age, this.name = name, this.team = 'red', this.xp = 0; createRedPlayer 생성자의 파라미터를 필수 값으로 받은 후에 Player 객체들의 변수들을 : 세미콜롬 이후에 해당 변수들을 각각의 값으로 초기화하겠다는 이야기 class Player { final String name; int xp, age; String team; Player( {required this.name, required this.xp, required this.team, required this.age}); Pla..

DART 2022.11.20

[노마드코더 : Dart 시작하기] #4.2 Named Constructor Parameters

positional argument each other into a named argument constructor required 를 넣어주고, 순서와 관계없이 값을 가져갈 수 있는 형태로 인자를 받아준다. class Player { final String name; int xp; String team; int age; Player({ required this.name, required this.xp, required this.team, required this.age, }); void sayHello() { print("Hi, my name is $name"); } } void main() { var player = Player( name: "PL", xp: 500, team: "blue", age:..

DART 2022.11.20
반응형