
3. [Flutter] 컬렉션 - 데이터의 저장, 조작
다트패드를 이용하는 환경의 경우 Run 버튼으로,
안드로이드 스튜디오의 경우 아래의 Terminal 탭을 누른 후 터미널에 dart lib/main.dart 명령어를 실행하면 콘솔을 통해 확인할 수 있다.
void main() {
// 코드내용
}
//void는 아무 값도 반환하지 않는다는 의미
//()에 입력받은 매개변수 지정 가능
// 한 줄 주석
/*
* 여러줄
* 주석처리
* 관행상 중간에 기호 삽입
*/
/// 문서 주석 (Documentation으로 인식함)
void main() {
print('Hello World');
}

void main() {
var name = 'VarTest'; // 변수 초기화
print(name); // name 변수 출력
name = 'yawn'; // 변수 값 변경
print(name); // 변경된 name 변수 출력
// 변수명 중복 불가
}

void main() {
dynamic name = 'DynamicTest'; // dynamic string 타입으로 추론되어 name 변수 초기화 선언
name = 1; // dynamic int 타입으로 추론되어 name 변수에 값 저장
}
final과const는 런타임과 빌드타임에서 동작하는 방식에 차이가 있다.
final키워드로 선언된 변수는 런타임에 값이 할당되며, 한 번 할당된 이후에는 변경할 수 없다. 이른 변수가 런타임에서 초기화되는 것을 의미하며,final변수는 프로그램이 실행되는 동안에만 값이 변경되지 않는다.- 반면
const키워드로 선언된 변수는 빌드타임(컴파일 시)에 값이 할당된다.
이는 컴파일러가 프로그램을 컴파일 하는 과정에서 상수 값으로 대체되는 것을 의미하며,const변수는 프로그램이 실행되기 전에 이미 값을 가지고 있고, 런타임에는 변경되지 않는다.
런타임 변수 예: 계산 결과
빌드타임 변수 예: API 키
void main() {
final String name = 'blping'; // 런타임 상수 final
neme = 'bangtan'; // 에러, 선언 후 값 변경 불가
const String name = 'bangtan'; // 빌드타임 상수 const
neme = 'blping'; // 에러, 선언 후 값 변경 불가
}
void main() {
String name = 'yawn'; // 문자열
int isInt = 128; // 정수형
double isDouble = 2.5; // 실수형
bool isTrue = true // 불리언 (참/거짓)
print(name);
print(isInt);
print(isDouble);
print(isTrue);
}
Must Have 코드팩토리의 플러터 프로그래밍 - 최지호(코드팩토리) [도서]