티스토리 뷰

[Dart] late와 nallable 그리고 final 차이

 

선언 방식

아래와 같이 선언할 때 UserC 클래스는 선언과 동시에 member 변수 name의 값을 지정해야 한다.

하지만 UserA와 UserC 클래스는 선언 후에 name 변수를 입력해도 된다.

UserB의 경우에는 name 변수를 계속 수정 가능하지만 UserA의 경우에는 선언 후에 원하는 시기에 값을 입력하고,

그 이후에는 값을 변경할 수 없다.

 

dart 프로그래밍에서 late 접두사는 클래스의 멤버 변수를 선언할 경우 초기화는 지연시키고 불변성은 유지하고 싶은 때 사용할 수 있다.

class UserA {
  late final String name;
}

class UserB {
  String? name;
}

class UserC {
  UserC({required this.name});
  final String name;
}

main() {
  var userA = UserA();
  var userB = UserB();
  var userC = UserC(name: 'nameC');
}

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함