클래스 특징
클래스
- dart의 모든 것들은 1급 객체이다.
- class는 여러가지 데이터를 저장할 수 있다.
class Dog{
var name = "초롱이";
var age = 2;
void sound(){
print("멍");
}
}
- class는 메모리에 뜨지 않는다.
- class는 개발자가 메모리에 직접 올려야 한다. (new연산자)
main() {
Dog d1 = new Dog(); // new 됐다는 것은 메모리에 로드 됐다는 뜻(인스턴스화)
Dog d2 = new Dog();
}
Cascade 연산자
class User{
var id;
var name;
var phone;
}
main() {
User u = new User()
..id = 1
..name = '홍길동'
..phone = '123456'
u.name = '홍길동'; //위와 동일
}
오버로딩 대체
class User{
var id;
var name;
var phone;
// 생성자로 초기화
User(){
id = 2;
}
// 오버로딩 불가능
User(var name){
} // 에러
// 오버로딩 대체해서 이름 있는 생성자
User().second(){
id = 3;
name = '임꺽정';
phone = '4321432';
}
}
main() {
User u = new User()
..id = 1
..name = '홍길동'
..phone = '123456'
u.name = '홍길동'; //위와 동일
//이름있는 생성자 호출
User u2 = new User.second();
}
참고
https://www.youtube.com/watch?v=1IafJ4Lg2fM&list=PL93mKxaRDidGEaUXprXqhNvSW02xCjLZI&index=14
728x90
'Study > Dart' 카테고리의 다른 글
[Dart] 상속 (0) | 2021.06.07 |
---|---|
[Dart] 접근지정자, 생성자, getter, setter (0) | 2021.06.04 |
[Dart] final 과 const 차이 (0) | 2021.06.04 |
[Dart] 반복문과 깊은 복사 (0) | 2021.06.04 |
[Dart] 익명함수와 화살표 함수 (0) | 2021.06.04 |