지난 시간에는 json 파싱할 때 factory 생성자를 왜 쓸까? 에 대한 포스팅을 했었다.
2023.09.21 - [🐦 Flutter] - factory 생성자에 대한 고찰1 - Json 파싱
근데 지난 포스팅에도 봤다시피 factory 생성자는 일반 생성자와는 다른 모양이었다.
그러니까
일반 생성자 는 객체를 다음과 같이 초기화할 수 있다.
Album({this.userId, this.id, this.title});
반면 factory 생성자 는 다음과 같이 초기화한다.
factory Album.fromJson(Map<String, dynamic> json) {
return Album(
userId: json['userId'],
id: json['id'],
title: json['title'],
);
}
factory 생성자는 일반 생성자와는 다르게 return 키워드 가 존재한다.
factory Album(Map<String, dynamic> json) {
return Album(
userId: json['userId'],
id: json['id'],
title: json['title'],
);
}
이렇게 써도 return 키워드가 존재한다.
즉, factory 키워드는 일반 생성자와는 다르게 return 키워드가 있어 좀 더 약한 제약조건을 줄 수 있다.
return 키워드가 있음으로써, 우리는 factory 생성자를 사용하여 싱글턴 패턴을 구현할 수도 있고 혹은 json 파싱할 때 더 원하는 객체의 모양으로 초기화할 수가 있는 것이다.
↓ 이 게시물에서 좀 더 자세한 공식문서 설명글을 볼 수 있다!
2023.09.21 - [🐦 Flutter] - factory 생성자에 대한 고찰1 - Json 파싱
다음 포스팅에는 factory 의 싱글턴 패턴 사용 예제와 같이 알아보겠다.
'🐦 Flutter' 카테고리의 다른 글
Debounce, Throttle (2) | 2023.12.09 |
---|---|
[Flutter] InheritedWidget 에 대한 고찰 1 - BuildContext.dependentOnInhheritedWidgetOfExactType (0) | 2023.10.14 |
factory 생성자에 대한 고찰1 - Json 파싱 (0) | 2023.09.21 |
[Dart] mixin (0) | 2023.04.09 |
AES-256 암호화 (5) | 2023.04.01 |