Flutter를 연습해 보니 `Container`위젯을 자주 사용하는 것 같다.마치 HTML의 `div`태그와 비슷한 용도인 것 같다.그래서 이번에는 자주 사용되는 만큼 중요한 `Container`위젯을 파헤쳐보자. Container 위젯이 위젯은 너비와 높이를 지정하고, 테두리, 그림자, 여백을 적용할 수 있는 박스이다.너비와 높이는 부모 위젯이 있는지, 자식 위젯이 있는지에 따라 우선순위가 달라진다. 크기 결정 원리부모, 자식 위젯이 없는 경우부모, 자식 위젯이 없으면 `Container`위젯의 크기는 0 자식 위젯만 있는 경우자식 위젯이 있으면 `Container`위젯의 크기는 자식의 크기를 가져온다. 부모 위젯만 있는 경우부모 위젯이 있으면 `Container`위젯의 크기는 부모의 크기를 가져온다..
Dart문법을 공부했으니 이제 본격적으로 Flutter를 이용한 앱을 만들어보니 웹과는 다른 부분이 있었다. 상황Flutter에서는 UI(위젯)를 배치할 때, 세로 방향 배치를 하는 경우에는 `Column`위젯을 사용한다.그런데 세로로 배치를 하던 중 위젯이 뷰포트를 벗어나면 자동으로 스크롤이 생기는 것이 아니라 에러가 발생한다. 해결 방법스크롤을 생기게 하는 위젯이 따로 있었다.그것은 바로 `ListView`위젯이다.View 라는 이름에서도 알 수 있듯이 화면(뷰포트)에 관련된 위젯임을 알 수 있다.`Column`대신 사용하니 스크롤도 자동으로 생기고 에러도 말끔히 해결했다. 마무리(느낀 점)위젯이 css같아서 편한 느낌도 있지만 위젯들이 워낙 많고 웹에서는 당연하던 것이 앱에서는 안되니까 불편한 것도..
위젯 생명 주기쉽게 말해 위젯이 만들어지고, 변화하고, 사라지는 과정을 말한다.이 과정에서 실행되는 메서드들이 있고, 위젯의 구분( StatelessWidget과 StatefulWidget )에 따라 생명 주기도 달라진다. 알아야 하는 이유위젯이 생성부터 삭제 및 종료되는 과정을 이해하면 메모리 누수를 방지하고, 비효율적인 UI 갱신을 막으며, 올바른 상태 관리를 할 수 있다.특히 위젯이 생성될 때, 생성이 완료될 때, 사라질 때 특정 작업을 수행해야 하는 경우가 많기 때문에, 위젯의 라이프사이클을 이해하는 것이 중요하다. StatelessWidget 생명 주기 StatelessWidget의 생성자가 호출 되면 바로 `build`메서드가 실행되어 위젯을 화면에 그린다.StatelessWidget은 변하..
강의를 듣다 보면 자주 쓰이는 코드의 형태가 있다. 그렇지만 이게 도대체 무엇인지는 모른다. 그래서 자세하고 낱낱이 파헤쳐보자. 오늘 파헤칠 것은 `const 생성자`이다. 사전 지식컴파일 타임(Compile Time)런 타임이 되기 전 사람이 작성한 코드(Dart, C++, Java 등)를 컴퓨터가 이해할 수 있는 기계어로 바꾸는 시간(순간, 과정)이다.변수 선언이 잘못되거나 문법이 틀리면 컴파일 타임 때 에러를 발견한다.void main() { int number = "Hello"; // ❌ 컴파일 에러 중 타입 에러(문자열을 숫자 변수에 할당)} 런 타임(Run Time)컴파일 타임이 끝난 후 프로그램이 실제로 실행되는 시간이다.컴파일 에러가 없더라도 런 타임에는 에러가 생길 수도 있고, 사용자가..
Flutter의 위젯(Widget)이란?Flutter에서 위젯(Widget) 은 화면을 구성하는 모든 요소를 의미한다.버튼, 텍스트, 이미지, 동영상 등 우리가 보는 모든 것이 위젯으로 이루어져 있다.Flutter 앱을 개발할 때는 위젯을 쌓아 화면을 구성한다고 생각하면 된다. 평면처럼 보이지만, 사실은 위젯을 쌓은 것!틱톡 같은 앱을 보면 단순한 평면 화면처럼 보이지만, 실제로는 여러 개의 위젯이 겹쳐 있는 구조다.예를 들어, 틱톡 화면을 분석해 보면 다음과 같이 쌓여 있다. 하단 : 배경 위젯 → 빈 화면(앱의 기본 틀) 중간 : 영상 위젯 → 전체 화면을 차지하는 동영상상단 : 아이콘 위젯 & 텍스트 위젯 → 좋아요, 댓글, 공유 버튼과 영상 설명 텍스트이처럼 Flutter에서는 위젯을 레고 블..