본문 바로가기

사전캠프9

dart 문법 const, final 수를 선언할 때 사용하는 키워드로, 한 번 값을 할당하면 이후에는 변경할 수 없도록 만드는 역할을 합니다. 주로 상수값을 저장할 때 사용되며, 코드의 가독성과 안전성을 높이는 데 도움을 줍니다. const와 final의 차이점final: 한 번 할당되면 값을 변경할 수 없지만, 런타임에 결정될 수 있는 값입니다. 즉, 프로그램이 실행되는 동안 할당이 가능하고, 그 이후로는 변경이 불가능합니다.const: 반드시 컴파일 타임에 값이 결정됩니다. 즉, 실행 전에 값이 미리 확정되어야 합니다. 2024. 10. 10.
Flutter 위젯_ListView 위젯 import 'package:flutter/material.dart'; void main() {   runApp(const MyApp()); } class MyApp extends StatelessWidget {   const MyApp({super.key});   @override   Widget build(BuildContext context) {     return MaterialApp(       debugShowCheckedModeBanner: false,       home: Scaffold(         body: ListView(           scrollDirection: Axis.horizontal,           children: List.generate(           .. 2024. 10. 10.
Flutter 위젯_PageView 위젯 import 'package:flutter/material.dart'; void main() {   runApp(const MyApp()); } class MyApp extends StatelessWidget {   const MyApp({super.key});   @override   Widget build(BuildContext context) {     return MaterialApp(       debugShowCheckedModeBanner: false,       home: Scaffold(           body: PageView(         children: [           Container(             color: Colors.red,             chi.. 2024. 10. 10.
Flutter 위젯_StatefulWidget과 StatelessWidget StatelessWidget(생성 후 수정 불가)단순성변화하는 상태를 다룰 필요가 없습니다. 이렇게 하면 코드를 유지 관리하기 쉽고 버그가 덜 발생할 수 있습니다.예측 가능성불변 클래스에는 외부 상태 변경의 영향을 받지 않는 예측 가능한 동작이 있습니다. 이렇게 하면 테스트 및 디버그가 더 쉬워집니다. StatefulWidget(수정가능하며 화면에 바로 반영)동적 대화형 UIStatefulWidget을 사용하면 동적이고 대화형 UI를 만들 수 있습니다. 위젯의 변경 가능한 상태를 관리함으로써 사용자 상호 작용 또는 데이터 변경에 따라 실시간으로 위젯의 UI를 업데이트할 수 있습니다.유연성StatefulWidget은 애니메이션 처리, 네트워크 요청 또는 복잡한 데이터 처리와 같은 상태 업데이트 처리를 위한.. 2024. 10. 10.
dart 문법_동기, 비동기2 async, await, Future 개념이 어려워 챗GPT에게 설명해달라 요청했다. **async, await, Future**는 Dart와 같은 언어에서 비동기 프로그래밍을 처리하기 위한 중요한 개념입니다. 비동기 처리는 프로그램이 즉각 완료되지 않는 작업을 처리할 때 유용합니다. 예를 들어, 서버에서 데이터를 가져오거나 파일을 읽는 작업은 시간이 걸리기 때문에, 프로그램이 이를 기다리지 않고 다른 작업을 진행할 수 있게 해줍니다.1. 비동기 프로그래밍이란?비동기 프로그래밍은 시간이 오래 걸리는 작업이 완료될 때까지 기다리지 않고, 다른 작업을 계속 진행할 수 있도록 하는 방식입니다. 예를 들어, 파일을 읽거나 네트워크 요청을 보내는 작업은 시간이 걸리기 때문에, 이런 작업을 동기적으로 처리하면 프로.. 2024. 10. 8.
dart 문법_클래스 void main() async {   var totalYears = 10;   print('프로그램 시작');   var man = Human(     id: ' xxxxxxx -xxxxxxx',     name: '홍길동',     age: 39,     gender: Gender.M,   );      for (var currentYear = 1; currentYear     await Future.delayed(Duration(seconds: 1));     print('$currentYear년이 흘렀습니다.');     man.addAge();     print('${man.name}은 ${man.age} 나이입니다.');   }      print('프로그램 종료'); } 2024. 10. 8.
dart 문법_동기, 비동기 동기 작업이 순차적으로 처리되는 것을 의미합니다. 하나의 작업이 끝나야 다음 작업이 진행이 되는 것 void main() {   print('작업 1 시작');   performTask();   print('작업 1 완료'); } void performTask() {   print('작업 2 실행'); } 출력 작업 1 시작 작업 2 실행 작업 1 완료  비동기 작업이 병렬적으로 처리될 수 있습니다. 즉, 작업이 완료될 때까지 기다리지 않고 다음 작업을 바로 시작합니다. 주로 네트워크 요청, 파일 읽기/쓰기 등 시간이 걸리는 작업에 사용됩니다. void main() {   print('작업 1 시작');   performTask();   print('작업 1 완료'); } Future performTas.. 2024. 10. 8.
dart 문법_조건문 if else 문 if( 조건 비교 ){ 참인 경우 실행될 로직  } else {   위 조건이 거짓일 경우 실행될 로직 } void main() {   int number = 3;   if (number > 5) {     print('number는 5보다 큽니다.');   } else {     print('number는 5보다 크지 않습니다.');   } } switch 문 switch( 확인할 변수 ) { case [환인할 변수에 해당되는 값] : 실행로직; break; case [환인할 변수에 해당되는 값2] : 실행로직; break; case [환인할 변수에 해당되는 값3] : 실행로직; break; default: 모든 case에 해당되지 않는 경우 실행 로직 ; } void main() {.. 2024. 10. 8.
dart 문법_함수 함수(void 함수는 return 값 없음) 반환타입 함수이름(매개변수1, 매개변수2, ...) {   // 비즈니스 로직 구현부    return 반환값; } int substract(int a, int b) {   int sum = a - b;   return sum; } void main() {   int result = substract(3, 5);   int result2 = substract(5, 3);   print('결과: $result');  // 출력: 결과: -2   print('결과: $result2');  // 출력: 결과: 2 } 2024. 10. 8.