본문 바로가기
프로그래밍

Dart 변수와 상수 사용법 📘

by Mastre 2024. 11. 8.

서론 🌟

프로그래밍에서 변수와 상수는 데이터를 저장하고 처리하는 핵심적인 역할을 합니다. 특히, Dart에서는 간단하고 효율적인 방식으로 변수를 선언하고 상수를 정의할 수 있습니다. 이 글에서는 Dart의 변수와 상수를 어떻게 사용하는지, 그리고 두 개념의 차이점을 알아보겠습니다. 😊

Dart에서 변수 선언하기 ✍️

1. 변수의 기본 개념 🧩

Dart에서는 변수를 선언할 때 var, final, const 같은 키워드를 사용합니다. 각 키워드는 변수의 특성에 따라 다르게 사용되며, 상황에 맞는 키워드를 선택하여 효율적으로 데이터를 다룰 수 있습니다.

2. var 키워드 🌐

var는 변수의 타입을 명시하지 않고 자동으로 타입을 결정해 줍니다. 한 번 선언되면 이후 값의 타입이 고정되므로 유연하면서도 안전한 사용이 가능합니다.

var name = "Dart";
var age = 5;
  • 여기서 nameString 타입, ageint 타입으로 지정됩니다.
  • 타입을 명시하지 않아도 Dart가 자동으로 추론하므로 코드를 간결하게 작성할 수 있습니다.

3. 명시적 타입 선언 📑

변수의 타입을 명시적으로 지정할 수도 있습니다. 코드 가독성을 높이거나 특정 타입을 강제하고 싶을 때 유용합니다.

String name = "Flutter";
int age = 3;
  • 명시적 타입을 사용하면 코드 유지보수에 도움이 되며, 오류 발생 시 빠르게 문제를 파악할 수 있습니다.

 

 

상수 사용하기 💎

1. final 키워드 🛠

final 키워드는 한 번 할당된 후 값이 변경되지 않는 변수에 사용됩니다. 프로그램 실행 중에 값이 할당되므로 런타임 상수로 볼 수 있습니다.

final String city = "Seoul";
final int population = 1000000;
  • final은 런타임에 값을 할당할 수 있으며, 할당된 이후에는 수정이 불가능합니다.
  • 데이터베이스에서 값을 불러와 상수처럼 사용하고자 할 때 유용합니다.

2. const 키워드 🔒

const는 컴파일 타임 상수를 선언할 때 사용합니다. 컴파일 시점에 값이 확정되며, 변경할 수 없습니다.

const double pi = 3.14159;
const int maxAge = 120;
  • const로 선언된 상수는 프로그램 실행 도중 절대 값이 변하지 않습니다.
  • 예를 들어, 수학적 상수나 변하지 않는 설정값 등에 자주 사용됩니다.

 

 

finalconst의 차이점 🧐

키워드 설명 변경 가능 여부 사용 시점
final 한 번 할당 후 수정 불가 런타임
const 컴파일 타임 상수, 수정 불가 컴파일 타임
  • final은 런타임 상수로, 런타임 중에 결정되는 값을 가질 수 있습니다.
  • const는 컴파일 타임 상수로, 프로그램이 컴파일되기 전 고정된 값이 필요합니다.

변수를 다루는 추가 팁 💡

1. Nullable 변수 🔄

Dart에서는 변수의 값이 null일 수 있도록 ? 연산자를 사용하여 nullable 변수를 만들 수 있습니다. 이를 통해 변수 초기화를 유연하게 처리할 수 있습니다.

String? nullableName;
nullableName = "Dart";
nullableName = null;
  • String? 타입의 nullableNamenull을 허용합니다.

2. 초기화 후 변수 재할당 🔄

일반 변수(var, 타입 명시적 변수)는 값을 재할당할 수 있지만, finalconst 변수는 재할당이 불가능합니다. 코드 안정성을 위해 상황에 맞게 변수 타입을 선택하는 것이 중요합니다.

결론 ✨

Dart에서 변수와 상수를 적절하게 사용하는 것은 코드의 안정성과 가독성을 높이는 데 큰 도움이 됩니다. var, final, const를 올바르게 사용하여 효율적인 코드를 작성해 보세요. 또한, finalconst의 차이점을 이해하고 상황에 맞게 활용하는 것이 중요합니다. 🎯

자주 묻는 질문 (Q&A) ❓

Q1. finalconst 중 언제 어떤 것을 사용해야 하나요?

  • 답변: final은 런타임 상수로 실행 중에 값이 할당될 수 있는 경우에 사용하고, const는 컴파일 타임에 결정되는 상수에 사용합니다.

Q2. varfinal의 차이점은 무엇인가요?

  • 답변: var는 재할당이 가능하지만 final은 최초 할당 후 재할당이 불가능합니다. 값이 한 번 정해진 후 변하지 않길 원한다면 final을 사용하세요.

Q3. 상수를 선언할 때 꼭 final이나 const를 사용해야 하나요?

  • 답변: Dart에서는 상수를 선언할 때 반드시 final이나 const 중 하나를 사용하여 값을 변경할 수 없도록 만드는 것이 권장됩니다.

Q4. const로 선언된 변수의 값은 절대 변하지 않나요?

  • 답변: 네, const로 선언된 변수는 컴파일 시점에 값이 고정되므로 프로그램 실행 중에는 절대 변하지 않습니다.

Q5. nullable 변수란 무엇인가요?

  • 답변: nullable 변수는 null 값을 허용하는 변수입니다. Dart에서는 변수 타입 뒤에 ?를 붙여 nullable 변수로 만들 수 있습니다.