방명록
- [DART] Dart 문법 (2) 변수 선언2024년 01월 17일 16시 26분 54초에 업로드 된 글입니다.작성자: 코딩백구반응형
var
- 변수를 지정할 때 앞에 타입을 사용하지 않고, 처음 선언한 값이 데이터 타입이 된다.
- 같은 타입의 다른 값으로 변경이 가능 하지만, 다른 타입으로의 변경은 불가능하다.
void main(){ var age = 25; print(age); // 25 age = "다트" print(age) // 에러 발생, 같은 타입의 값으로 넣어줘야한다. }
const & final
공통점
- 값을 한번만 선언할 수 있다. 다른 값으로 변경 시 오류 발생
- 타입을 선언하지 않아도 자동으로 타입을 추론해 준다.
void main(){ final double a1 = 3.141592 const double b1 = 2.717171 final a2 = 3.141592 const b2 = 2.717171 }
차이점
- const 의 경우, 컴파일 타임에서 값이 지정된다. final 의 경우, Runtime 에서 값이 지정된다. 즉, const 로 정의 한 상수는 런타임에서 정의되는 값을 설정할 수 없다. 예를 들어, DateTime.now() 의 경우, 런타임에서 호출이 될 때 마다 값이 달라지는데, 이러한 값은 const 로 선언할 수 없다.
- 리스트를 선언하는 데에서 차이점이 있다.
- final 은 리스트에 값을 추가할 수있지만, const 는 값을 추가할 수 없다.
- final 과 const 로 선언된 두 리스트 모두 새로운 리스트로 재 대입하는것은 불가능하다.
void main(){ final List<String> finalList = []; const List<String> constList = []; finalList.add('final'); constList.add('const'); // compile Error finalList = ['java']; // compile Error }
반응형다음글이 없습니다.이전글이 없습니다.댓글