전체 글 295

extends와 implements 차이점

클래스와 인터페이스의 상속 및 구현을 정의할 때 사용하는 키워드입니다. extends: 클래스 상속 (부모 상속)부모 클래스(상위 클래스)의 속성과 메서드를  자식 클래스(하위 클래스)가 물려받을 때 사용합니다. 단일 상속만 가능하며, 한 번에 하나의 클래스만 상속받을 수 있습니다.상속받은 클래스는 부모 클래스의 메서드나 변수를 재정의(Override)할 수 있습니다. implements: 인터페이스 구현 클래스가 다른 클래스나 인터페이스에 정의된 메서드와 속성을 반드시 구현하도록 강제할 때 사용합니다.다중 구현이 가능하며, 하나 이상의 클래스를 동시에 implements할 수 있습니다.implements를 사용하면 상속이 아니라 인터페이스의 모든 메서드와 속성을 새로 정의해야 합니다.

공부 노트 2024.11.19

[Flutter] (MVVM 활용) Http 통신 클라이언트 Dio 객체를 만들어 보자 - 2

REST API 호출: Dio는 GET, POST, PUT, DELETE 등 다양한 HTTP 요청을 지원합니다.비동기 네트워크 처리: 비동기적으로 네트워크 요청을 처리하여 애플리케이션의 응답성을 유지합니다.에러 처리: HTTP 상태 코드에 따라 쉽게 에러 처리를 할 수 있습니다. lib/providers/provider/dio_provider.dart 파일 생성import 'package:dio/dio.dart';import 'package:flutter_riverpod/flutter_riverpod.dart';// Http 통신을 위한 Dio 싱글톤 인스턴스를 제공 합니다.// 그래서 싱글톤 인스턴스를 생성해서 애플리케이션 전역에서 재사용 하기로 한다.// 전역에서 재사용 가능한 Dio 싱글톤 인스턴스..

Flutter/MVVM 활용 2024.11.19

[Flutter] (MVVM 활용) 플러터 프로젝트 생성 - 1

이번 프로젝트에 목적은 Flutter를 사용해서 MVVM 패턴과 riverpod 프레임워크를 학습하는데 있습니다. Provider 계열Provider: 객체의 의존성 주입을 관리하는 데 사용됩니다. 주로 서비스 클래스나 리포지토리 같은 비상태적인 객체를 제공하는 역할을 합니다. 상태 변경이 필요 없는 경우에 적합합니다.StateNotifierProvider: 상태 관리를 위해 StateNotifier를 제공하는 데 사용됩니다. 상태의 변경을 관리하고, 그에 따라 UI를 업데이트하는 역할을 합니다.notifier 계열StateNotifier: 상태 변경을 관리하는 객체입니다. 내부적으로 상태를 유지하고, 상태가 변경될 때 이를 구독하는 UI에 알립니다. 주로 복잡한 상태 로직을 처리하거나 상태 변화가 빈번..

Flutter/MVVM 활용 2024.11.19

[Flutter] riverpod 과 MVVM 활용

1. [Flutter] (MVVM 활용) 플러터 프로젝트 생성 - 1이번 프로젝트에 목적은 Flutter를 사용해서 MVVM 패턴과 riverpod 프레임워크를 학습하는데 있습니다. Provider 계열Provider: 객체의 의존성 주입을 관리하는 데 사용됩니다. 주로 서비스 클래스나 리포maze910.tistory.com2. [Flutter] (MVVM 활용) Http 통신 클라이언트 Dio 객체를 만들어 보자 - 2REST API 호출: Dio는 GET, POST, PUT, DELETE 등 다양한 HTTP 요청을 지원합니다.비동기 네트워크 처리: 비동기적으로 네트워크 요청을 처리하여 애플리케이션의 응답성을 유지합니다.에러 처리: HTTP 상태maze910.tistory.com3. [Flutter] ..

Flutter/MVVM 활용 2024.11.19

[Flutter] (MVVM 활용) riverpod 개념 정리

Riverpod 이란?Riverpod은 Flutter 애플리케이션에서 상태 관리와 의존성 주입을 효율적으로 처리하기 위한 강력한 라이브러리입니다. 기존의 Provider 패키지의 단점을 개선하고, 추가적인 기능과 안전성을 제공합니다. Riverpod의 주요 특징컴파일 타임 안전성: Riverpod은 컴파일 시점에 많은 오류를 잡아내어 런타임 에러를 최소화합니다.Widget 트리에 의존하지 않음: Provider와 달리, Riverpod은 Widget 트리에 의존하지 않으므로 애플리케이션 어디에서든 상태에 접근하고 관리할 수 있습니다.상태의 불변성: Riverpod은 불변 상태를 지향하여 상태 관리의 예측 가능성과 안정성을 높입니다. 필요에 따라 가변 상태도 관리할 수 있습니다.의존성 주입의 용이성: Pr..

Flutter/MVVM 활용 2024.11.19

[Flutter] 당근 마켓 만들어 보기

폴더 및 파일 만들기 pubspec.ymal 파일 설정 기본 코드 입력 앱 테마 설정 main.dart 파일 완성 dependencies: flutter: sdk: flutter # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.6 google_fonts: ^6.2.1 intl: ^0.20.0 font_awesome_flutter: ^10.8.0홈 화면ImageContainerimport 'package:carrot_market_ui/screens/main_screens.dart..

Flutter 2024.11.15

[Flutter] Flutter에서 Key의 역할과 필요성

Flutter에서 Key의 역할과 필요성Key는 Flutter 애플리케이션에서 위젯의 고유성을 보장하고, 상태를 관리하는 데 중요한 역할을 합니다. 특히, 위젯 트리에서 요소의 순서가 변경되거나 목록이 동적으로 업데이트될 때 Key는 의도하지 않은 UI 동작을 방지하는 핵심 요소입니다. Key란 무엇인가?Flutter는 모든 위젯마다 Element라는 객체를 내부적으로 생성해 트리를 만듭니다.Flutter에서 Key는 각 위젯을 고유하게 식별하기 위한 속성입니다.복잡한 위젯 트리 구조에서 위치가 바뀌거나, 재구성될 때 위젯을 정확히 식별하는 데 중요한 역할을 합니다.Key의 작동 방식Flutter는 Key를 통해 위젯을 고유하게 식별합니다. 같은 타입이라도 Key가 다르면 Flutter는 이를 별개의 위..

Flutter 2024.11.14

[Flutter] Flutter의 위젯과 Element 트리 그리고 Key의 역할과 사용 방법

Flutter는 각 위젯마다 Element 객체를 생성해 트리 구조를 만듭니다.Element는 위젯의 타입, 위치 정보를 저장하고 자식 Element와 연결되어 전체 트리를 구성합니다구현할 화면 코드import 'package:flutter/material.dart';void main() { runApp(MaterialApp(home: MyHomePage()));}class MyHomePage extends StatefulWidget { const MyHomePage({super.key}); @override State createState() => _MyHomePageState();}class _MyHomePageState extends State { final listTile = [ T..

Flutter 2024.11.14

[Flutter] Flutter에서의 위젯 생명 주기

Flutter에서 위젯의 생명 주기는 중요한 개념입니다. 특히, StatelessWidget과 StatefulWidget은 동작 방식이 다르기 때문에 각각의 생명 주기를 이해하는 것이 중요합니다. State 생명 주기 StatelessWidget과 StatefulWidget은 빌드될 때마다 새로 생성됩니다.StatelessWidget은 build 메서드가 호출되면서 한 번만 생성되고 끝납니다.StatefulWidget은 내부적으로 State 객체를 생성하며, 생성된 State 객체는 메모리에 유지되면서 생명 주기를 가집니다.한 번 생성된 State는 재사용되며, 필요할 때만 build 메서드가 다시 호출되어 업데이트됩니다.  StatefulWidget의 생명 주기StatefulWidget의 생명 주기는 ..

Flutter 2024.11.14

[Flutter] GestureDetector 위젯

GestureDetector 위젯  GestureDetector는 사용자가 화면에서 수행하는 다양한 터치 이벤트를 감지하고 처리하는 기본적인 Flutter 위젯입니다.GestureDetector 자체는 화면에 표시되지 않으며, child에 지정된 위젯에 사용자 이벤트가 발생할 때 이벤트를 처리할 수 있습니다.이 위젯은 다양한 사용자 이벤트에 대한 콜백 함수들로 구성되어 있어, 각 이벤트에 맞는 동작을 정의할 수 있습니다.주요 GestureDetector 콜백 함수onTap: 사용자가 화면을 가볍게 탭할 때 호출됩니다. (예: 버튼 클릭 효과)onDoubleTap: 사용자가 화면을 빠르게 두 번 탭할 때 호출됩니다. (예: 이미지 확대)onLongPress: 사용자가 화면을 오래 누르고 있을 때 호출됩니다..

Flutter 2024.11.14