![[Flutter (Dart 문법 + 실습 UI 구성) (📘 Dart 기초 문법 정리)] 1. Dart 문법 : 변수, 타입추론, dynamic](https://image.inblog.dev?url=https%3A%2F%2Finblog.ai%2Fapi%2Fog%3Ftitle%3D%255BFlutter%2520%28Dart%2520%25EB%25AC%25B8%25EB%25B2%2595%2520%252B%2520%25EC%258B%25A4%25EC%258A%25B5%2520UI%2520%25EA%25B5%25AC%25EC%2584%25B1%29%2520%28%25F0%259F%2593%2598%2520Dart%2520%25EA%25B8%25B0%25EC%25B4%2588%2520%25EB%25AC%25B8%25EB%25B2%2595%2520%25EC%25A0%2595%25EB%25A6%25AC%29%255D%25201.%2520Dart%2520%25EB%25AC%25B8%25EB%25B2%2595%2520%253A%2520%25EB%25B3%2580%25EC%2588%2598%252C%2520%25ED%2583%2580%25EC%259E%2585%25EC%25B6%2594%25EB%25A1%25A0%252C%2520dynamic%26logoUrl%3Dhttps%253A%252F%252Finblog.ai%252Finblog_logo.png%26blogTitle%3Dsson17&w=2048&q=75)
🔹 1. 변수 선언 및 명시적 타입 지정
Dart에서는 변수를 선언할 때 명확하게 타입을 지정할 수 있습니다.
void main() { int n1 = 1; // 정수 double d1 = 10.1; // 실수 bool b1 = true; // 논리값 String s1 = "홍길동"; // 문자열 print("n1: $n1"); print("d1: $d1"); print("b1: $b1"); print("s1: $s1"); // 타입 확인 print(d1.runtimeType); // double }
📌 출력 결과:
n1:1 d1:10.1 b1:true s1:홍길동 double
🔹 2. 타입 추론 (var
)
var
키워드는 초기값을 기반으로 자동으로 타입이 결정됩니다. 이후에는 해당 타입 외의 값을 대입할 수 없습니다.void main() { var n1 = 1; // int로 추론됨 // n1 = "문자열"; // ❌ 오류 발생: n1은 int로 결정되었기 때문 n1 = 3; // ✅ 가능 print(n1); print(n1.runtimeType); // int }
📌 출력 결과:
3 int
🔹 3. 동적 타입 (dynamic
)
dynamic
은 어떤 타입이든 저장할 수 있는 동적 타입입니다.→ 다른 언어의
Object
와 유사하지만, Dart에서는 컴파일 타임이 아닌 런타임에 타입이 결정됩니다.void main() { dynamic n2 = 1; // int n2 = "문자열2"; // String으로 변경됨 print(n2); print(n2.runtimeType); // String }
📌 출력 결과:
문자열2 String
✅ 요약 비교
선언 방식 | 타입 고정 여부 | 타입 변경 가능 여부 | 주로 사용하는 상황 |
int n = 1 | 고정 | ❌ | 명확한 타입 지정 필요할 때 |
var n = 1 | 최초 할당 타입으로 고정 | ❌ | 타입 추론할 때 |
dynamic n = 1 | 런타임 결정 | ✅ | 다양한 타입을 다룰 때, 유연성이 중요할 때 |
Share article