Flutter ) 이젠 dart다. 자바 개발자가 이해하는 dart

CokeBear·2022년 8월 26일
0

flutter

목록 보기
1/1

배우게 된 계기

  • 예전부터 배우고 싶은 언어 중 하나였다.
  • 그러다 이번에 채팅 어플을 개발한다는 소식이 들려와 본격적으로 어플을 만들어 보려고한다.
  • 너무 잡탕밥이 되어가는 개발인생인거 같지만 언젠가 쓸모있지 않겠는가...

본론

  • 자바언어랑 흡사한 부분이 많아 다른부분만 설명할 것이다.

생성자 [선택적 매개변수 사용]

  Rectangle({this.origin = const Point(0, 0), this.width = 0, this.height = 0});
  • { } 다음과 같이 자바 예에 있는 4개의 생성자를 모두 대체하는 하나의 생성자이다.
  • dart에는 Over loading이 없다.
  • dart는 null check를 한다. nullable한 타입이 아니라면 requred를 붙이거나 초기값을 넣어 줘야한다.
  • 다음과 같이 사용시 nameed param으로 사용할 수 있다.

읽기전용 변수추가 (Read Only) = private 접근제한자

int _speed = 0;
  • _를 추가하여 읽기 전용변수를 만들 수 있다.

팩토리 만들기

  • short Description: 팩토리란 자바 핵심 패턴 중 하나인 singleTon Pattern을 따른다.
    -> 자세히 알아보기
abstract class Pizza {
  late String orderNumber;
  double getPrice();
  factory Pizza.fromJson(Map<String,dynamic> json) {
    switch (json['type'] as PizzaType) {
      case PizzaType.HamMushroom:
		return HamAndMushroomPizza(json['orderNumber’]);
      case PizzaType.Deluxe:
        return DeluxePizza(json['orderNumber’]);
      case PizzaType.Seafood:
        return SeafoodPizza(json['orderNumber’]);
    }
  }
}
  • 예제는 친근한 피자로 들겠다.
  • java에서 static 생성자로 하나의 인스턴스를 돌려쓰는것이랑 같다.

dynamic = Object = any

  • 위 코드에서 보인다. 어떤 형이던 가질수 있는 형태이다.

const & final 차이점

  • const -> compile 때 할당 -> 코드를 번역할때
  • final -> runtime 때 할당 -> 코드를 읽을때
profile
back end developer

0개의 댓글