본문 바로가기

Flutter

(26)
[Flutter_개발] 예외 처리, 라이브러리, 비동기 프로그래밍 1. 예외 처리예외(Exception): 실행 중 발생하는 비정상 상황. 처리하지 않으면 프로그램이 종료되지만, try-catch로 처리하면 정상 실행을 이어갈 수 있다.예외 종류Dart가 미리 정의한 예외 (ex: FormatException, IOException, TimeoutException)사용자가 정의하는 예외 (Exception 클래스를 상속해서 구현)class AgeException implements Exception { final String message; AgeException(this.message); @override String toString() => message; }예외 처리 구문try { int result = int.parse("abc");} ..
[Flutter_개발] 예외처리, enum 예외처리 (Exception Handling)예외란?프로그램 실행 중 예상치 못한 문제 상황을 의미한다. 예를 들어 문자열 "가"를 숫자로 변환하려 하면 null 값이 생기고, 이를 강제로 사용하면 런타임 에러가 발생하여 프로그램이 종료될 수 있다. 또한 존재하지 않는 파일을 열거나, 인터넷 연결이 끊어진 상태에서 네트워크 요청을 보내는 경우도 예외에 해당한다.try-catch 문법try 블록에는 오류가 발생할 수 있는 코드를 작성한다.catch(e) 블록은 예외가 발생했을 때 실행되며, e 객체에 구체적인 에러 정보가 담긴다.이 구조를 통해 프로그램이 강제 종료되지 않고 정상적으로 흐름을 이어갈 수 있다.try { int? value = int.tryParse("가"); print(value!); ..
[Flutter_개발] Git과 GitHub 1. Git이란?파일 변경 내역을 기록하고 추적하는 프로그램. 여러 사람이 동시에 작업할 수 있도록 돕는 분산 버전 관리 시스템(DVCS).중요 개념:스냅샷(Snapshot): Git은 파일 전체를 복사본으로 저장하지 않고, 변경 사항만을 기록해둠. 이 때문에 효율적이고 빠르다.분산 구조: 모든 개발자가 로컬에 전체 저장소를 복제해두기 때문에 인터넷이 없어도 작업 가능.활용 범위: 소스 코드 관리가 주 목적이지만, 문서, 데이터 파일 등 어떤 파일이든 버전 관리 가능.2. Git이 필요한 이유버전 관리파일의 과거 버전으로 쉽게 돌아갈 수 있음.변경 내역을 기록하여, 언제 어떤 변경이 있었는지 확인 가능.실수나 오류 발생 시 되돌리기 가능.협업여러 명이 동시에 작업 가능.브랜치(branch)를 통해 독립적..
[Flutter_개발] 개인 과제 오늘은 개인 과제 1번과 2번 문항을 풀어보았다. 필수 문제 1번 1. 점수에 맞는 등급 출력하기[ 설명 ]제시된 예시 점수에 해당하는 등급을 알맞게 출력하세요![ 조건 ]예시 점수 : 84점점수에 따른 등급 기준90점 ~ 100점 : A등급80점 ~ 89점 : B등급80점 미만은 C등급출력 형태 : 이 학생의 점수는 [점수] 이며, 등급은 [등급]입니다!출력 예시void main() { // 변수선언 int score = 84; String grade; // if문을 이용해서 점수마다 등급 부여 if (score >= 90 && score 100) { grade = "A등급"; } else if (score >= 80 && score 90) { grade = "B등급"; ..
[Flutter_개발] nullable Nullable 을 알아보기 앞서 null 이란 아직 값이 없다는 뜻의 특별한 값이다.Dart 언어 에서는 null-safety가 기본이라서, 명시적으로 nullable로 선언하지 않는다면 null을 넣을 수 없다.위와 같이 오류가 발생하게된다. null을 선언하기 위해서는위에 있는 String 타입의 name에 null을 담고 싶다면 String 뒤에 ?를 붙여 주면 "null 일 수도 있어" 라는 의미를 가지게 된다.String? name;nullable 변수또한 그냥 쓰면 에러가 나게된다. 그래서 이걸 처리 하기 위해서는1. null 체크 먼저하기.void main() { String? name; if (name != null) { print(name.length); }}name이 nul..
[Flutter_개발] 비동기 프로그래밍 비동기 프로그래밍이란? 작업이 완료될 때까지 기다리지 않고, 결과가 준비되면 그때 처리하는 방식이다.방식설명동기주문 후 커피 나올 때까지 가만히 기다림비동기주문 후 진동벨 받은 후, 자리에서 다른 행동을 하며 기다리다 진동벨이 울리면 커피를 받음 flutter를 이용하면 파일 다운로드, 웹 요청, 파일 저장 및 불러오기 작업 등은 시간이 오래 걸린다. 이걸 기다리기만 하면 앱이 멈춘 것처럼 보이기 때문에 다른 작업을 먼저 할 수 있도록 비동기를 사용한다. 이 비동기 프로그래밍을 위해서는 Future함수를 이용해야 하는데FutureString> orderCoffee() { // 비동기 작업(Future)을 일정 시간 뒤에 실행하는 Dart의 내장 함수 return Future.delayed(Durati..
[Flutter_개발] Dart 컬렉션 오늘은 컬렉션에 대하여 알아보자.컬렉션이란 여러개의 데이터를 묶어서 다루는 구조를 말한다.Dart 에서는 대표적으로 List, Set, Map 을 이용한다. 먼저 List 이다.List는 순서가 존재하고 중복을 허용한다는 특징이 있다.void main() { ListString> values = ["사과", "바나나", "오렌지"]; values.add("귤"); // [사과, 바나나, 오렌지, 귤] values.add("귤"); // [사과, 바나나, 오렌지, 귤, 귤]}[사과, 바나나, 오렌지, 귤, 귤]이렇게 리스트 안에 사과, 바나나, 오렌지 순으로 values에 값을 부여해주고 add 를 이용해 귤을 두번 추가해주는 작업으로 순서와 중복이 가능하다는 점을 확인할 수 있다. add를 이..
[Flutter_개발] Dart 상속 오늘은 Dart문법에서 객체지향 프로그래밍중 하나인 상속에 대해 알아보자. 먼저 상속에 대해 알아보기에 앞서 의 의미를 간단하게 짚어보자클래스는 비슷한 특징을 가진 속성과 행동들을 묶어놓은 설계도로변수가 값들을 보관하는 그릇이라면 클래스는 그릇들을 담아두는 박스라고 할 수 있다. 본격적으로 상속에대해 알아보자. 상속은 부모 클래스의 특징을 물려받는 것을 말한다.자동차를 예를 들어보자.일반 자동차 설계를 기반으로 전기차를 만든다고 했을때 자동차의 특징을 그대로 물려받고 거기에 전기차만의 특징을 추가 할 수 있는것 이다. 먼저 자동차이다. Car라는 클래스를 만들고 결과값을 만들어보자.void main() { Car c = Car(); c.drive();class Car { //속성(변수), 메서드(함..