Flutter 클래스의 생성자
생성자는 클래스의 객체를 생성하는 데 사용되는 특별한 메소드입니다. Flutter에서는 클래스의 속성을 초기화하는 데 생성자를 정의할 수 있습니다. Flutter에는 기본 생성자와 명명된 생성자 두 가지 유형의 생성자가 있습니다.
기본 생성자 (Default Constructor)
기본 생성자는 인수를 취하지 않는 가장 간단한 생성자 유형입니다. 클래스에 생성자를 정의하지 않으면, Flutter는 자동으로 기본 생성자를 제공합니다.
아래는 Flutter 클래스에서 기본 생성자의 예입니다.
class Person {
String name;
int age;
Person() {
name = '';
age = 0;
}
}
이 예제에서 Person 클래스에는 name과 age 속성을 각각 빈 문자열과 0으로 초기화하는 기본 생성자가 있습니다.
명명된 생성자 (Named Contructor)
명명된 생성자는 클래스 이름이 아닌 다른 이름을 가진 생성자입니다. 명명된 생성자는 클래스의 객체를 다른 초기화로 생성해야 할 때 유용합니다.
다음은 Flutter 클래스에서 명명된 생성자의 예입니다.
class Person {
String name;
int age;
Person.fromName(String name) {
this.name = name;
age = 0;
}
Person.fromAge(int age) {
name = '';
this.age = age;
}
}
이 예제에서 Person 클래스에는 fromName 및 fromAge 두 개의 명명된 생성자가 있습니다. fromName 생성자는 제공된 이름으로 name 속성을 초기화하고 age 속성을 0으로 초기화합니다. 마찬가지로, fromAge 생성자는 제공된 나이로 age 속성을 초기화하고 name 속성을 빈 문자열로 초기화합니다.
this 사용
this는 현재 클래스 인스턴스를 참조하는 Flutter 키워드입니다. this를 사용하여 클래스의 현재 인스턴스의 속성 및 메소드를 참조할 수 있습니다.
다음은 Flutter 클래스에서 this를 사용한 예입니다:
class Person {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
void printInfo() {
print('Name: $name, Age: $age');
}
}
이 예제에서 Person 클래스에는 name과 age를 인수로 받는 생성자를 생성했습니다.
생성자 내부에서는 this를 사용하여 현재 클래스 인스턴스의 name 및 age 속성을 참조합니다.
'Dev > Flutter' 카테고리의 다른 글
[Flutter] 학습 (8) - 클래스(Class) - 3 (0) | 2023.03.05 |
---|---|
[Flutter] 학습 (6) - 클래스(Class) - 1 (0) | 2023.03.05 |
[Flutter] 학습(5) - null 연산자 (0) | 2023.03.04 |
[Flutter] 학습(4) - 컬렉션 (Collection)-2 List에서 자주 사용하는 함수들 (0) | 2023.03.04 |
[Flutter] 학습(4) - 컬렉션 (Collection)-1 (0) | 2023.03.04 |
댓글