반응형
Class에 파라미터를 받는 것이 생성자
기본적으로 클래스부터 생성해보면
void main() {
Hansoom hansoom = Hansoom();
}
class Hansoom {
String name = '한숨팟';
List<String> members = ['차','밍','똥','똥철'];
void sayHello() {
print('안녕하세요 한숨팟입니다.');
}
void introduce() {
print('저희는 차,밍,똥,똥철 입니다.');
}
}
클래스 내부에서
positional constructor부터 만들어보면
input을 받고 class내부에 저장해야한다.
void main() {
Hansoom hansoom = Hansoom(
'한숨팟',
['차','밍','똥','똥철'],
);
}
class Hansoom {
Hansoom(String name, List<String> members)
: this.name = name,
this.members = members;
void sayHello() {
print('안녕하세요 한숨팟입니다.');
}
void introduce() {
print('저희는 차,밍,똥,똥철 입니다.');
}
}
: this.name = name,
this.members = members;
this.name에서 this는 현재 클래스를 의미하고 this.name은 클래스 내부의 name이고
this.name에 할당하는 name은 파라미터로 input으로 받은 name이다.
Hansoom(String name, List<String> members)
: this.name = name,
this.members = members;
이 생성자를 더 간단하게 생략할 수 있다.
Hansoom(this.name, this.members);
바로 값을 받아서 바로 넣겠다.
타입은 알아서 유추하게 된다.
named constructor
naemed parameter와 거의 유사하다
선언은
Classname.원하는이름(받는형태 받는이름) :
this.members = 받는이름
this.name = 받는이름
입력할 때는
Classname.원하는이름(선언하고 value)
ex
void main() {
Hansoom hansoom2 = Hansoom.fromList([
['김', '이', '박', '최', '정', '오'],
'한숨팟2'
]);
class Hansoom {
Hansoom.fromList(List values)
: this.members = values[0],
this.name = values[1];
}
반응형
'Flutter > Dart 문법' 카테고리의 다른 글
[Dart] 상속 (0) | 2023.03.22 |
---|---|
[Dart] Class의 getter와 setter (0) | 2023.03.22 |
[Dart] 함수의 선언 (parameter에 관하여) (0) | 2023.03.21 |
[Dart] enum의 선언 (0) | 2023.03.21 |
[Dart] while-if-break 문 / for-if-continue 문 (0) | 2023.03.21 |