🔎 생성자(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 |