위젯 생명 주기쉽게 말해 위젯이 만들어지고, 변화하고, 사라지는 과정을 말한다.이 과정에서 실행되는 메서드들이 있고, 위젯의 구분( StatelessWidget과 StatefulWidget )에 따라 생명 주기도 달라진다. 알아야 하는 이유위젯이 생성부터 삭제 및 종료되는 과정을 이해하면 메모리 누수를 방지하고, 비효율적인 UI 갱신을 막으며, 올바른 상태 관리를 할 수 있다.특히 위젯이 생성될 때, 생성이 완료될 때, 사라질 때 특정 작업을 수행해야 하는 경우가 많기 때문에, 위젯의 라이프사이클을 이해하는 것이 중요하다. StatelessWidget 생명 주기 StatelessWidget의 생성자가 호출 되면 바로 `build`메서드가 실행되어 위젯을 화면에 그린다.StatelessWidget은 변하..
특정 언어를 기반으로 만들어진 프레임워크를 공부하다 보면 지금 공부하고 있는 함수나 객체가 그 언어의 내장 함수나 내장 객체인지 아니면 프레임워크의 것인지 구별을 하기가 쉽지 않다. Dart언어를 기반으로 하는 Flutter 프레임워크도 마찬가지이다.위젯이라고 표현하는 여러 함수와 클래스가 Dart의 내장 클래스인지 아닌지 헷갈린다. 그래서 오늘은 Flutter의 예시 코드를 보면서 Dart의 내장 클래스인지 Flutter의 위젯인지 구별하는 방법을 찾아볼까 한다. Dart와 Flutter 구분하기예시 코드import 'package:httphttp.dart' as http;Future fetchData() async { final url = Uri.parse('https://jsonplaceholde..
강의를 듣다 보면 자주 쓰이는 코드의 형태가 있다. 그렇지만 이게 도대체 무엇인지는 모른다. 그래서 자세하고 낱낱이 파헤쳐보자. 오늘 파헤칠 것은 `const 생성자`이다. 사전 지식컴파일 타임(Compile Time)런 타임이 되기 전 사람이 작성한 코드(Dart, C++, Java 등)를 컴퓨터가 이해할 수 있는 기계어로 바꾸는 시간(순간, 과정)이다.변수 선언이 잘못되거나 문법이 틀리면 컴파일 타임 때 에러를 발견한다.void main() { int number = "Hello"; // ❌ 컴파일 에러 중 타입 에러(문자열을 숫자 변수에 할당)} 런 타임(Run Time)컴파일 타임이 끝난 후 프로그램이 실제로 실행되는 시간이다.컴파일 에러가 없더라도 런 타임에는 에러가 생길 수도 있고, 사용자가..
Flutter의 위젯(Widget)이란?Flutter에서 위젯(Widget) 은 화면을 구성하는 모든 요소를 의미한다.버튼, 텍스트, 이미지, 동영상 등 우리가 보는 모든 것이 위젯으로 이루어져 있다.Flutter 앱을 개발할 때는 위젯을 쌓아 화면을 구성한다고 생각하면 된다. 평면처럼 보이지만, 사실은 위젯을 쌓은 것!틱톡 같은 앱을 보면 단순한 평면 화면처럼 보이지만, 실제로는 여러 개의 위젯이 겹쳐 있는 구조다.예를 들어, 틱톡 화면을 분석해 보면 다음과 같이 쌓여 있다. 하단 : 배경 위젯 → 빈 화면(앱의 기본 틀) 중간 : 영상 위젯 → 전체 화면을 차지하는 동영상상단 : 아이콘 위젯 & 텍스트 위젯 → 좋아요, 댓글, 공유 버튼과 영상 설명 텍스트이처럼 Flutter에서는 위젯을 레고 블..
변수 및 타입 선언var 키워드`var` 키워드를 사용하면 타입을 직접 명시하지 않아도 Dart에서 자동으로 타입을 추론한다.한 번 타입이 지정되면 같은 타입의 값만 재할당 가능하다.하지만 초기화 없이 선언하면 `dynamic` 타입이 되어 어떤 값이든 재할당 가능하다.void main() { // int 타입으로 추론 var a = 10; a = '123'; // error // String 타입으로 추론 var b = '123'; b = true; // error // bool 타입으로 추론 var c = true; c = 10; // error // dynamic 타입으로 추론 var d; d = 10; d = '123'; d = true;} 타입 종류타입설명`i..