Dart/기본

Dart 문법 기본 - 변수와 상수 선언

codeJunH 2024. 8. 20. 16:36

var와 dynamic 키워드

Dart에서는 변수 선언 시 명시적으로 타입을 지정하지 않고도 변수를 선언할 수 있다.

이를 위해 var와 dynamic 키워드를 사용한다.

 

 

var 키워드

var 키워드는 변수에 최초로 할당되는 값의 타입을 기반으로 변수의 타입을 추론한다.

한 번 타입이 결정되면 이후에는 다른 타입의 값을 할당할 수 없다.

실행 결과:

age: 30
name: John
name: Alice

 

 

dynamic 키워드

dynamic 키워드는 변수의 타입을 런타임까지 확정하지 않는다.

이를 통해 하나의 변수에 여러 타입의 값을 할당할 수 있다.

실행 결과:

anyType: 10
anyType: Bob
anyType: true

dynamic은 유연하지만, 타입 안정성을 저해할 수 있으므로 필요한 경우에만 사용해야 한다.

 

 

const와 final 키워드

const와 final 키워드는 변수를 상수로 선언할 때 사용한다.

두 키워드 모두 한 번 값이 할당되면 변경할 수 없다.

 

 

const 키워드

const는 컴파일 시점에 값이 결정되어야 한다.

주로 리터럴 값을 상수로 선언할 때 사용한다.

실행 결과:

Circle area: 78.53975

 

 

final 키워드

final은 런타임 시점에 값이 결정되어야 한다.

주로 생성자에서 초기화되거나 계산된 값을 상수로 선언할 때 사용한다.

실행 결과 (실행 시점에 따라 다를 수 있음):

Current date: 2023-08-20 15:30:45.123456
Today is the 20th day of the month

 

 

변수와 상수 선언의 베스트 방법

  • 가능한 한 구체적인 타입 사용하기: 코드의 가독성과 타입 안정성을 위해 가능한 한 구체적인 타입을 사용해야한다.
  • var의 적절한 사용: 지역 변수를 선언할 때는 var를 사용하는 것이 좋습니다. 타입이 명확한 경우에는 Dart의 타입 추론 기능을 활용해야한다.
  • dynamic 사용 최소화: dynamic은 타입 안정성을 해칠 수 있으므로 꼭 필요한 경우에만 사용해야한다.
  • 상수는 const 사용: 컴파일 시점에 값을 알 수 있는 상수는 const를 사용해야한다. 이는 성능 최적화에 도움이 된다.
  • 런타임 상수는 final 사용: 런타임에 결정되는 값이지만 한 번 설정된 후 변경되지 않아야 하는 경우 final을 사용해야한다.