티스토리 뷰
728x90
반응형
[1] 문서보기
문서 를 보면
getter와 setter는 object의 프로퍼티들에게 read, write 접근권한을 제공하는 특별한 메소드라고 합니다.
그리고 get, set 키워드를 통해 getter와 setter를 구현할 수 있다고 합니다.
[2] 예제
Getter
이렇게 생긴 User모델과 UserManager가 있다고 해보겠습니다.
UserManager가 user 프로퍼티를 다른 곳에 read-only로 제공하고 싶다!! 할때 getter를 구현해주면 됩니다.
class User {
String id;
String nickname;
User({
this.id,
this.nickname
});
}
class UserManager {
User _user;
User get user => _user;
}
그럼 사용하는 다른 파일에서는 user프로퍼티를 읽을 권한만 가지게 됩니다.
import 'userManager.dart';
void main() {
var manager = UserManager();
print(manager.user);
// 아래는 모두 컴파일에러난다.
print(manager._user);
manager._user = User(id: "", nickname: "");
manager.user = User(id: "", nickname: "");
}
Setter
user가 set될때마다 다른 작업을 해주고 싶어!! 할때 Setter를 구현해주면 됩니다.
저는 마땅한 예제가 안떠올라서 user가 set될때마다 id를 프린트해주겠어! 로 했습니다.
class UserManager {
User _user;
User get user => _user;
set user(User user) {
_user = user;
print(user.id);
}
}
그럼 사용하는 다른 파일에서는 user를 set해줄 권한도 가지게 되고
import 'userManager.dart';
void main() {
var manager = UserManager();
manager.user = User(id: "1", nickname: "죠르디");
print(manager.user);
// 아래는 모두 컴파일에러 난다.
print(manager._user);
manager._user = User(id: "", nickname: "");
}
user를 set해줄 때마다 id가 출력되게 됩니다. (아까 setter지정해준 코드-!!)
반응형
'🤼♀️ > Dart' 카테고리의 다른 글
[Dart] Abstract Classes, Implicit Interfaces, Extending a Class (0) | 2021.08.30 |
---|---|
[Dart] 다트의 Factory 생성자로 싱글톤 만들기 (1) | 2020.09.24 |
[Dart] 다트의 함수와 파라미터 (0) | 2020.08.27 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- flutter deep link
- ipad multitasking
- cocoapod
- SerializerMethodField
- PencilKit
- Flutter Text Gradient
- 플러터 얼럿
- Watch App for iOS App vs Watch App
- Sketch 누끼
- flutter dynamic link
- flutter 앱 출시
- 플러터 싱글톤
- Django Firebase Cloud Messaging
- 장고 Custom Management Command
- Python Type Hint
- 장고 URL querystring
- Flutter getter setter
- Flutter Spacer
- ribs
- Django Heroku Scheduler
- DRF APIException
- flutter build mode
- Flutter 로딩
- drf custom error
- Dart Factory
- github actions
- 구글 Geocoding API
- Django FCM
- METAL
- Flutter Clipboard
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함