Dart

Dart

[Dart] JSON 직렬화, 역직렬화

1. JSON JSON(JavaScript Object Notation)은 데이터를주고 받을때 쓰는 문자 기반의 데이터 포맷입니다.     JavaScript라고 꼭 JavaScript에서만 쓰는 것은 아니고, 모든 플랫폼과 언어에서 호환이 가능해 사실상 표준처럼 많이 쓰입니다. JSON은 중괄호 안에 key-value가 쌍으로 저장되어 있습니다. { "name" : "Alice", "age" : 20} key는 반드시 문자열이 들어가야 하고,value에는 숫자, 문자열 리스트, 객체 등 다양한 데이터 타입이 올 수 있습니다.   2. 직렬화와 역직렬화앱을 만들다 보면 서버랑 데이터를 주고받게 되는데 서버에서 보내주는 정보는 보통 JSON 형식의 문자열입니다. 직렬화(Serialization)는 객체를 ..

Dart

[Dart] 예외 처리 (Error Handling)

1. 예외 (Exception) 예외는 프로그램이 실행되는 동안 발생할 수 있는 예외적인 상황입니다.예외는 프로그래머가 예측 가능하고, 적절히 처리할 수 있습니다. 예외를 처리해 주지 않으면 프로그램이 종료되지만,이를 try-catch로 처리해 주면 프로그램이 정상적으로 실행됩니다. Dart에서는 모든 예외가 Exception 클래스를 기반으로 구현됩니다.  2. 예외 처리1) try ~ catchtry의 코드 블록 실행 중에 예외가 발생하면try 코드 블록의 예외 발생 후의 코드들은 실행되지 않고 catch문으로 넘어갑니다. 즉, try의 코드 블록에는 예외가 발생할 수 있는 코드가,catch 코드 블록에는 예외가 발생했을 때 실행되어야 할 코드가 있어야 합니다. void main() { try { ..

Dart

[Dart] 상속 (Inheritance)

1. 상속상속을 알기 위해선 클래스 개념에 대해 먼저 알아야합니다. 클래스가 기억 안나신다면 여기!https://sfida.tistory.com/70 [Dart] 객체지향 프로그래밍: 클래스, 속성, 메서드, 생성자 (Class, Property, Method, Constructor)1. 클래스 클래스는  설계도입니다. 예를 들어 우리가 게임을 만든다고 생각해 볼게요.먼저 캐릭터가 있어야겠죠? 캐릭터는 이름, 체력, 공격력 같은 속성을 가지고 있고, 공격한다, 점프한다sfida.tistory.com 개념에 대해 먼저 알려드리자면 상속은 기존 클래스의 기능을 확장하여 새로운 클래스를 만드는 것입니다. 이해하기 쉽게 코드로 설명할게요.아래 코드는 이전 클래스 포스팅에서 사용했던 Character 클래스입니다..

Dart

[Dart] 객체지향 프로그래밍: 클래스, 속성, 메서드, 생성자 (Class, Property, Method, Constructor)

1. 클래스 클래스는  설계도입니다. 예를 들어 우리가 게임을 만든다고 생각해 볼게요.먼저 캐릭터가 있어야겠죠? 캐릭터는 이름, 체력, 공격력 같은 속성을 가지고 있고, 공격한다, 점프한다 같은 행동도 할 수 있습니다. 그렇다면 이 캐릭터를 사용하는 사람들이 10명이라고 가정했을 때, 10개의 캐릭터마다 속성과 행동을 일일이 정의해야 할까요?정답은 아닙니다! 캐릭터의 설계도(클래스)를 하나 만들어 놓고, 복사(인스턴스화)해서 사용하면 됩니다. class Character { // 속성 String name; int health; int attackPower; // 생성자 (Character 객체를 만들 때 필요한 것들) Character(this.name, this.health, this.at..