배운것들을 정리합니다.
三昧境

Study Journal 46

[플러터 Flutter] extends 와 implements

extends (상속) extends를 사용하면 한 클래스가 다른 클래스의 특성(필드와 메서드)을 상속받습니다.즉, 부모 클래스의 모든 필드와 메서드를 그대로 물려받아 사용할 수 있고,필요한 경우 오버라이딩(@override)을 통해 수정할 수 있습니다. 특징기본 구현을 물려받음자식 클래스는 부모 클래스의 필드나 메서드를 자동으로 상속받으며, 필요한 부분만 재정의할 수 있습니다.단일 상속Dart에서 한 클래스는 오직 하나의 클래스만 extends로 상속받을 수 있습니다.상속 관계는 is-a 관계를 형성합니다. 즉, Circle은 Rectangle. abstract class Rectangle { int cx = 0, cy = 0; // 필드 void draw(); // 추상 메서드}class Circ..

[플러터 Flutter] 정규표현식이란?

정규표현식(Regular Expression, RedExp)은텍스트를 검색하기특정 패턴을 특정 패턴을 가진 문자열을 찾기검사하기추출하기를 할 수 있는 강력한 도구입니다.이를 통해 이메일, 전화번호, 비밀번호 패턴 검사 등 다양한 텍스트 처리 작업을 수행할 수 있습니다.Dart의 표준 라이브러리에서 RegExp 클래스를 제공하여 Flutter에서도 정규표현식을 쉽게 사용할 수 있습니다. RegExp 클래스 정규표현식을 사용하려면 RegExp 클래스를 사용해야 합니다.이 클래스는 패턴을 정의하고, 해당 패턴이 문자열에서 일치하는지 확인하거나, 텍스트에서 특정 패턴을 추출할 수 있게 해줍니다.주요 메서드로는hasMatch(String input)입력된 문자열이 정규표현식과 일치하는지 여부를 반환합니다. (참/..

Flutter/tip 2024.09.13

[플러터 Flutter] primarySwatch와 primaryColor는 무슨 차이일까?

primarySwtach와 primaryColor는 모두 앱의 기본 테마 색상을 설정하는데 사용되지만, 각기 다른 방식으로 작동합니다.이 둘의 차이점을 이해하려면 색상의 적용 범위와 사용 방식에서 차이가 있음을 알아야 합니다. PrimarySwatch 역할앱의 기본 색조 팔레트를 설정하는 데 사용됩니다.값MaterialColor 타입을 사용하며, 이는 여러 단계의 색상 명도(50, 100, 200… 900)가 포함된 색상 팔레트입니다.적용 범위기본적으로 앱의 전체적인 테마 색상을 제공합니다.예를 들어, 버튼, 앱바, 토글 버튼 등의 다양한 UI 요소에서 이 색조 팔레트에 있는 적절한 색상이 자동으로 선택됩니다.자동 명도 조절primarySwatch는 앱의 다양한 요소에 적절한 명도의 색상을 자동으로 적용..

[플러터 Flutter] call 메서드란?

call은 Dart에서는 클래스 안에 call 메서드를 정의하면, 그 클래스의 인스턴스를 마치 함수처럼 호출할 수 있게 됩니다.즉, 객체에 ()를 사용하여 직접 호출하는 방식을 제공하는 것입니다.static과 혼동하실 수 있지만 전혀 다른 목적으로 사용되며, 유사한 기능을 제공하지 않습니다.(조금 비슷할 순 있습니다.) callstatic호출 방식객체를 함수처럼 호출(myObject())클래스 이름으로 호출(MyClass.method())인스턴스 필요 여부객체 인스턴스가 필요객체 인스턴스가 필요 없음사용 목적객체의 인스턴스를 함수처럼 다루기 위해클래스 자체의 기능을 제공하기 위해 call 메서드의 기능객체를 함수처럼 호출 가능call 메서드를 정의한 클래스는 객체 자체를 함수처럼 사용할 수 있습니다.코드..

[플러터 Flutter] 클린아키텍처(Clean Architecture)란 무엇인가

[플러터 Flutter] MVVM이란 무엇인가MVVM (Model - View - ViewModel)패턴은 소프트웨어 아키텍처 패턴 중 하나로,애플리케이션의 UI코드와 비즈니스 로직을 분리하여 더 유연하고 유지보수가 용이한 코드를 작성하는 데 도움을 줍니다.이ujo-orr.tistory.comMVVM에 대해서 모르신다면 한번 읽고 오시는걸 추천 드립니다.  클린 아키텍처 (Clean Architecture)란?클린 아키텍처는 소프트웨어 설계 패턴 중 하나로,의존성 역전 원칙(Dependency Inversion Principle)을 중심으로 시스템을 설계하여유연하고 유지보수하기 쉬운 코드를 작성하는 데 초점을 맞춥니다.이 아키텍처는 [유즈케이스(비즈니스 로직)]와 [구현(외부 시스템)]을 분리하여, 각 ..

Flutter/tip 2024.09.13

[플러터 Flutter] MVVM이란 무엇인가

MVVM (Model - View - ViewModel)패턴은 소프트웨어 아키텍처 패턴 중 하나로,애플리케이션의 UI코드와 비즈니스 로직을 분리하여 더 유연하고 유지보수가 용이한 코드를 작성하는 데 도움을 줍니다.이 패턴은 특히 UI 업데이트와 상태 관리를 쉽게 하려는 목적으로 많이 사용됩니다. Flutter에서도 이 패턴을 적용할 수 있으며, 상태 관리 도구(예: Provider, Riverpod, GetX)를 사용하여 MVVM을 구현할 수 있습니다.각 패턴의 구성 요소 Provider를 사용하여 함께 보자면 Model (모델) // model.dartclass FlutterModel { int _count = 0; int get count => _count; void increment() { ..

Flutter/tip 2024.09.13

[플러터 Flutter] GitHub로 버전관리하기, 사용법

들어가기 앞서 버전관리 시스템에 대해서 먼저 알아보면VCS (Version Control System) Git은 버전 관리 시스템중 하나인데 깃의 중요성은이 사진에서도 표현이 된다.사실 저렇게 되면 그래도 이름이 길어지며 가장 마지막 파일이 최종버전인걸 눈치챌 순 있겠지만.파일을 아무렇게나 저장했다면 굉장히 어려워질 것이다.버전 관리 시스템은 크게 3가지가 있는데  1. 로컬 버전 관리서버 없이 로컬 컴퓨터 내에서 DB를 통해 버전을 관리하는 방식.하드웨어에 그냥 기록하는 방식이다. DB만으로도 구현이 가능하고 단순하기 때문에 개인적인 프로젝트에 적합한 방식이다.허나 이렇듯 로컬에서 버전을 관리하면 협업이 어렵고, 하드웨어의 고장으로 인한 백업불가라는 치명적인 단점이 있다.2. 중앙집중식 버전 관리중앙..

Flutter/tip 2024.09.12

[플러터 Flutter] GitHub Access Token 발급방법 / 깃허브 토큰 발급방법

1. GitHub 우측상단에서 프로필 클릭후 Settings 클릭 2. Developer Settings 클릭 3. Personal access tokens => Token (classic) 클릭 4. Generate new token (classic) 클릭 5. 토큰 명, 토큰 유효기간, 토큰 권한 설정후 생성 6. 토큰 번호 발급완료 참고로 발급 완료된 토큰 ID는 복사후 사용하여 주시고 사용한 뒤에는 ID재 조회가 불가능 하기 때문에따로 꼭 메모를 해 주셔야 합니다.

Flutter/tip 2024.09.12

[플러터 Flutter] 조건문의 종류

우선 조건문은 크게if 문if - else 문if - else if - else 문switch 문삼항 연산자null-aware이렇게 4가지의 종류로 볼 수 있습니다.사실 6가지로 볼 수 있지만 2가지는 if 문의 큰 카테고리로 넣어 정리하도록 하겠습니다.  if 문가장 기본적인 조건문으로, 조건이 참일 경우에만 블록 안의 코드를 실행합니다.문법 :if (조건) { // 조건이 참일 때 실행할 코드}예제 :void main() { int number = 10; if (number > 5) { print('number는 5보다 큽니다.'); }}// 출력 : number는 5보다 큽니다.위와 같은 경우에는number = 10 이고숫자가 5보다 클경우 print를 하는 코드입니다.void ma..

[플러터 Flutter] enum이란?

enum(enumerate)은 열거형 이라고도 불리며 특정 값들의 집합을 정의하는 데 사용됩니다.예를 들어, 요일, 계절, 상태 등을 나타낼 때 유용하며, 코드의 가독성을 높이고 특정 값들만 사용하도록 제한할 수 있어 오류를 줄이는 데 도움이 됩니다. enum을 사용하는 이유코드 가독성 향상관련된 상수들을 그룹화하여 코드를 더 읽기 쉽고 이해하기 쉽게 만듭니다.타입 안전성컴파일 시점에 타입 체크를 통해 오류를 방지할 수 있습니다.유지보수 용이성관련 값들을 한 곳에서 관리할 수 있어 유지보수가 쉬워집니다.명확한 의도 전달코드의 의도를 명확하게 표현할 수 있습니다.switch 문과의 호환성enum은 switch 문과 잘 어울려 깔끔한 코드 작성이 가능합니다.값의 제한특정 값들로 제한된 집합을 만들 수 있습니..