카테고리 없음

사전 캠프 9일차_창업 관련 개념 이해/Flutter 이론 학습

개발일지27 2025. 2. 20. 17:59

Flutter 이론 학습 

 

 

클래스

: 우리 일상의 삷도 모든 것이 객체로 이루어져 있습니다. 각각의 객체는 고유한 속성과 기능을 가지고 있습니다.

 

void main() async {
  var totalYears = 10;
  print("프로그램 시작");
  var man = Human('000101-xxxxxxxx', '홍길동', 27, Gender.M);
  for (var currentYear = 1; currentYear < totalYears; currentYear++) {
    await Future.delayed(Duration(seconds: 1));
    print('$currentYear년이 흘렀습니다.');
    man.adAge();
    print('${man.name}은 ${man.age} 나이입니다');
  }
  print('프로그램 종료');
}

class Human {
  final String id;
  //id:변수, String: 타입, final: 한번 부여되면 안 바                        뀐다
  final String name;
  int age;
  final Gender gender;

  Human(
    this.id,
    this.name, //포지셔널 파라미터
    this.age,
    this.gender,
  );
  void adAge() {
    age++;
  }
}

enum Gender { M, W }

 

<출력>

프로그램 시작
1년이 흘렀습니다.
홍길동은 28 나이입니다
2년이 흘렀습니다.
홍길동은 29 나이입니다
3년이 흘렀습니다.
홍길동은 30 나이입니다
4년이 흘렀습니다.
홍길동은 31 나이입니다
5년이 흘렀습니다.
홍길동은 32 나이입니다
6년이 흘렀습니다.
홍길동은 33 나이입니다
7년이 흘렀습니다.
홍길동은 34 나이입니다
8년이 흘렀습니다.
홍길동은 35 나이입니다
9년이 흘렀습니다.
홍길동은 36 나이입니다
프로그램 종료

 

리펙토링

: 코드의 동작을 변경하지 않으면서 코드의 내부 구조를 개선하는 작업을 뜻합니다. 리펙토링의 주요 목적은 코드의 가독성, 유지보수성, 확장성을 높이는 것입니다.

 

Stateless Widget

: StatelessWidget은 immutable한 것이 특징입니다. 보통 클래스는 mutable한 성질이지만 StatelessWidget 클래스는 변경할 수 없는 위젯입니다. build함수가 불리기까지 유지됩니다. 

 

Stateless Widget장점

1. 단순성

: 변화하는 상태를 다룰 필요가 없다. 이렇게 하면 코드를 유지 관리하기 쉽고 버그가 덜 발생할 수 있습니다.

 

2. 예측 가능성

: 불변 클래스에는 외부 상태 변경의 영향을 받지 않는 예측 가능한 동작이 있습니다. 이렇게 하면 테스트 및 디버그가 더 쉬워집니다.

 

StatefulWidget

:Flutter에서 StatefulWidget은 런타임 중에 모양과 동작을 변경할 수 있는 위젯입니다. 사용자 상호 작용이나 데이터 변경과 같은 일부 외부 요인에 따라 위젯이 UI를 변경해야 할 때 사용됩니다.

 

StatefulWidget의 장점

1. 동적 대화형 UI

: StatefulWidget을 사용하면 동적이고 대화형 UI를 만들 수 있습니다. 위젯의 변경 가능한 상태를 관리함으로써 사용자 상호 작용 또는 데이터 변경에 따라 실시간으로 위젯의 UI를 업데이트할 수 있습니다.

 

2. 유연성

: StatefulWidget은 애니메이션 처리, 네트워크 요청 또는 복잡한 데이터 처리와 같은 상태 업데이트 처리를 위해 맞춤 로직을 정의할 수 있는 유연성을 제공합니다.

 

위젯의 라이프사이클

: 위젯이 생성부터 삭제 및 종료되는 단계의 과정에서 발생되는 여러 가지 이벤트들의 호출 순서를 뜻합니다.

 

 

<퀘스트>

Q1.

 

본인이 경험했거나 주변에서 발견한 불편한 문제를 하나 정의하세요

 

ANS

 

현대 사회에서 스마트폰, 노트북 등으 전자기기는 필수적인 도구로 자리 잡았다. 많은 사람들이 카페나 식당에서 업무를 보거나 휴식을 취하며 전자기기를 사용하는데  카페나 식당에서 콘센트가 부족하여 배터리라 부족할 때 충전하기 어렵다는 문제가 있습니다

 

Q2.

 

이 문제가 왜 발생하는지 원인을 분석하세요.

 

ANS

카페나 식당 특성 상 인테리어를 중점적으로 고려하기 때문에 콘센트 배치를 소홀히 하는 경향이 있고, 좌석수를 늘리는 것이 수익성에 더 큰 이득입니다. 또한 많은 전자기기가 동시에 충전될 경우 전력 과부하가 생길 수 있고 회재가 발생할 우려도 있습니다.

 또한 콘센트가 많을 경우 손님들이 장시간 머무르는 경향이 있어 카페 입장에서는 테이블 회전율이 낮아져 매출 감소로 이어질 수 있습니다.

 

Q3.

문제를 해결하기 위한 아이디어를 2~3가지 제안하세요.
ANS
 
1) 테이블 일부에 무선 충전 패드를 내장하여 손님들이 별도의 콘센트 없이도 스마트폰을 충전할 수 있도록 합니다.
 
2) 매장의 회전율을 높이기 위해 콘센트 사용 시간 제한 시스템을 도입하여 어느 정도의 시간으로 제한하고, 일정 시간이 지나면 자동으로 전원을 차단하는 시스템을 도입합니다.
 
3) 고객이 일정 금액을 지불하거나 음료 구매 시 보조 배터리를 대여할 수 있도록 합니다. 다만 분실의 위험이 있고 관리 비용이 발생합니다. 
 
Q4
 
가장 실행 가능한 해결책을 선택하고, 이를 어떻게 검증할 수 있을지 계획을 세워보세요.
 
ANS
 
무선 충전 패드를 설치하는 것이 가장 실행 가능하다고 생각합니다.
고객이 편리하게 사용할 수 있으며, 사용 시간 제한 없이 자연스럽게 회전율을 높일 수 있습니다.
콘센트선이 노출되지 않아 안전성을 확보할 수 있고 초기 비용은 들지만 유지 보수 비용이 낮아 장기적으로 투자할 가치가 있습니다.
 
이를 검증하는 방법으로는 시범 도입하여 사용자들의 피드백을 받고 평균 사용 시간, 사용 고객 수를 기록합니다.
무선 충전 패드 설치 전과 후의 테이블 회전율을 비교하고 매출에 영행이 있는지 분석합니다. 
분석 결과를 바탕으로 추가로 설치할지 여부를 결정하고 장기적으로 적용할 가치가 있는 서비스인지 평가합니다.