π μμ±μ(Constructor)
π μ μ
ν΄λμ€(Class)λ κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°(OOP)μμ κ°μ²΄(object)λ₯Ό μμ±νκΈ° μν΄ μ μνλ μΌμ’ μ νμ λλ€.
void main() {
print('class 곡λΆ');
// μΈμ€ν΄μ€(instance) : κ°μ²΄(object) μμ±
// Student νμ
μ firlStudent λ³μ μμ±
// Student girlStudent = Student('μ€λ₯', 10);
Student girlStudent = Student(name: 'μ€λ₯', age: 10);
girlStudent.printTinfo();
// μμ±μλ μμ±μ ν λλ§ μ μ©
// μμ± μ μ
λ ₯ λ°μ 'μ€λ₯'μ 'νμ'μ΄ μ μ©λλ
// ----------------
// name: μ€λ₯ νμ
// age: 10
// ----------------
// μ΄νμ μ€λ¬λ‘ μ¬ν λΉ λ κ°μ μ μ© X
girlStudent.name = 'μ€λ¬';
girlStudent.printTinfo();
// ----------------
// name: μ€λ¬
// age: 10
// ----------------
}
class Student {
// μμ±μ Constructor
// Student();
// λ€μκ³Ό κ°μ΄ μμ±μ ν΄λΌ.
// bad
// Student(String name, int age) {
// this.name = name;
// this.age = age;
// }
// good
// Student(this.name, this.age);
// μ΄κΈ°κ°μ ν΄μ£Όλ λμμ κ°μ ν λΉν΄ μ€ μ μλ€.
// Student({required this.name, this.age});
// νμμ΄λΌλ κ°μ μΆκ°ν΄μ£Όκ³ μΆμ κ²½μ°
Student({required String name, this.age}) : name = '$name νμ';
String name = 'ohmyo'; // μ΄κΈ°κ° ν λΉ
int? age; // nullμ νμ©
void printTinfo() {
print('----------------');
print('name: $name');
print('age: $age');
print('----------------');
}
}
π§ μ°Έκ³ μλ£
https://dart-lang.github.io/linter/lints/prefer_initializing_formals.html
'π Programming > Dart' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Dart] μμκ³Ό Super, Override (0) | 2022.06.07 |
---|---|
[Dart] Getter, Setter, μ κ·Ό μ νμ (0) | 2022.06.06 |
[Dart] ν΄λμ€(Class) μ μΈκ³Ό μΈμ€ν΄μ€(Instance) (0) | 2022.06.06 |
[Dart] κ°μ²΄ λ€λ£¨κΈ° Map νμ (0) | 2022.06.06 |
[Dart] μ΄κ±°ν λ³μ(List, Set)μ μ λ€λ¦(Generic) (0) | 2022.06.06 |