Dart/Flutter에서 const는 단순히 “값이 안 바뀐다”를 넘어, 컴파일 타임 상수(compile-time constant) 를 만들고, 동일한 const 표현식은 하나의 인스턴스로 공유(canonicalization) 되며, Flutter에서는 이 특성이 위젯 트리에서 불필요한 객체 생성을 줄이는 방법입니다. ...
Flutter(Dart)로 앱을 만드시는 초보자분들은 질문이 거의 비슷합니다. “변수는 어디에 저장돼요?”, “왜 값이 자꾸 초기화돼요?”, “왜 UI가 안 바뀌죠?” 같은 질문입니다. 이 문제의 핵심은 대부분 스코프(scope) 와 생명주기(lifetime) 를 제대로 구분하지 ...
Flutter 개발에서 컬렉션(List/Map/Set)은 상태(state), UI 렌더링 데이터, API 응답 파싱 결과를 담는 핵심 자료구조입니다. 문제는 “담는 것”보다 어떻게 바꾸는지(수정), 그리고 어떻게 안 바뀌게(불변) 설계하는지에서 실수가 많이 난다는 점입니다. 이 글에서 ...
조건문(if/switch)과 반복문(for/while)은 문법을 외우는 순간에는 쉬워 보이지만, 실제로는 “언제 if를 쓰고, 언제 while을 걸어야 하는지”가 헷갈리기 시작합니다. 가장 빠르게 감을 잡는 방법은 입력값 검증 예제로 배우는 겁니다. 회원가입처럼 사용자가 값을 ...
ByteData 기반 패턴 Flutter에서 음수 표현 문제는 대개 Uint8List와 ByteData 사이를 오가며 값을 읽고 쓸 때 발생합니다. Dart는 int가 가변 정밀도라서 “정수 자체가 오버플로우로 망가지는” 경우는 상대적으로 적지만, 네트워크·파일·BLE처럼 고정 ...
부동소수점이 앱에서 문제를 만드는 이유 앱에서 쓰는 float/double(부동소수점)은 “연속적인 실수”를 그대로 저장하는 방식이 아니라, 제한된 비트로 근사값을 표현합니다. 그래서 사람 입장에서는 딱 떨어져야 하는 값(금액, 비율, 진행률, 좌표 변화)이 내부적으로는 ...