백구의 코딩찌개
  • [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
    }
    반응형
    댓글