2025.03.10 - [TIL(Today I Learned)] - [TIL-006] Dart로 콘솔 쇼핑몰 만들기-1 [TIL-006] Dart로 콘솔 쇼핑몰 만들기-1개요Flutter로 진짜 쇼핑몰을 만들면 좋겠지만, 아직은 잘 알지 못하는 관계로 불가능하다.대신 Dart언어에 익숙해지기 위해 콘솔에 값을 입력하여 진행되는 간단한 프로그램을 만들고자 한다. 기skyhyunjinlee.tistory.com 문제 발생class Product { String name; int price; Product({required this.name, required this.price}); @override String toString() { return 'Product {name: $name, pri..
개요Flutter로 진짜 쇼핑몰을 만들면 좋겠지만, 아직은 잘 알지 못하는 관계로 불가능하다.대신 Dart언어에 익숙해지기 위해 콘솔에 값을 입력하여 진행되는 간단한 프로그램을 만들고자 한다. 기능각 기능에 번호를 붙여 사용자가 입력한 번호대로 프로그램을 동작한다.1번 - 판매하는 상품 목록을 볼 수 있다.2번 - 구매하고 싶은 상품들을 장바구니에 담을 수 있다3번 - 장바구니에 담은 상품들의 총가격을 볼 수 있다.4번 - 프로그램을 종료할 수 있다. 문제 발생Dart에서 콘솔창에서 값을 입력하기 위해서는 `dart:io`라이브러리에 있는 `stdin.readLineSync()`를 이용할 수 있다.그러나 한글을 입력하면 깨지는 현상이 발생했다.String? userInput() { return stdi..
위젯 생명 주기쉽게 말해 위젯이 만들어지고, 변화하고, 사라지는 과정을 말한다.이 과정에서 실행되는 메서드들이 있고, 위젯의 구분( 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에서는 위젯을 레고 블..