var vs dynamic Dart에서 모든 타입으로 초기화할 수 있는 var와 dynamic를 각각 어떻게 쓰고 무슨 차이가 있는지에 대해서 알아보겠습니다. var var는 변수를 선언해주는 키워드입니다. 몇몇 다른 언어의 var는 한 번 지정해도 아무 값이나 계속 넣을 수 있지만 Dart에서는 한 번 초기화를 했을 때의 타입을 그대로 따라갑니다. JavaScript var a = 1; a = 'Hello World!'; a = 3.2; // 정상 작동 Dart var a = 1; // a 변수는 int 타입으로 할당 a = 'Hello World!'; // 오류: A value of type 'String' can't be assigned to a variable of type 'int'. a = 3..
Parameter, 매개 변수 Dart에서의 메소드나 생성자에선 여러 종류의 Parameter를 만날 수 있습니다. String setValue(String parameter) {...} setValue('값'); // 첫 번째 줄의 parameter는 매개 변수(Parameter)에 해당되고 // 두 번째 줄의 '값'은 인자(Argument)에 해당됩니다. Parameter에는 어떤 종류가 있고, 어떻게 사용하는 지에 대해 알아보겠습니다. Nullable에 관한 내용이 있으니 Null-safety에 관해 이해하고 보시는 것이 좋습니다. -> https://velog.io/@chojja7188/Dart-Null-safety Required Positional Parameter 정해진 위치가 있는 Para..
Null-safety, 널 세이프티 Dart 2.12 버전부터 Null-safety가 도입되었습니다. 2.12 버전이 나온지는 꽤 됐지만 그 전 버전을 쓰던 사람들은 Null-safety에 맞게 마이그레이션을 했어야 했습니다. Null-safety가 무엇이며 Dart에서 제공되는 Null-safety 관련 키워드는 무엇이 있는지 알아보겠습니다. Null? Null-safety? null은 값이 아예 없는 것을 의미합니다. 0이나 '' 공백같이 빈 값이 아닌 아예 없는 것입니다. Null-safety가 도입되기 전 Dart에서는 String형이나 int형같은 타입에 null을 넣을 수 있었습니다. 그러나 이는 런타임 에러가 발생할 가능성이 컸기에, Dart 2.12 버전 이후로 Null-safety가 도입..
Type casting, 형변환 Dart 언어에서의 타입 캐스팅(형변환) 방법에는 무엇이 있고, 어떤 차이가 있는지 알아보겠습니다. 자동 형변환? 우선 Dart에서는 자동 형변환이 되지 않습니다. 자동 형변환이란 작은 타입이 큰 타입으로 이동될 때 큰 타입에 맞게 자동적으로 형변환이 되는 것을 말합니다. JAVA와 같은 언어에서는 자동 형변환이 가능하지만 Dart에서는 불가능합니다. JAVA int a = 1; double b = a; Dart int a = 1; double b = a; // 오류: A value of type 'int' can't be assigned to a variable of type 'double'. 이렇게 오류가 나타나기에 Dart에서 형변환을 하려면 특정 방법들을 사용해야 ..
final vs const final과 const는 Dart 언어의 대표적인 상수 선언 키워드입니다. final과 const는 어떤 차이가 있는지 알아보겠습니다. 공통점 final final int a = 10; a = 5; // 오류: The final variable 'a' can only be set once. const const int b = 10; b = 5; // 오류: Constant variables can't be assigned a value. 두 키워드는 값이 변하지 않아야 하는 상수의 특성을 가지고 있습니다. 차이점 final은 런타임 시점에 값이 할당되어 상수가 되고, const는 컴파일 시점에 값이 할당되어 상수가 됩니다. 컴파일이 된 후에 런타임 상태가 되므로, const는 ..