클래스 특징

클래스

  1. dart의 모든 것들은 1급 객체이다.
  2. class는 여러가지 데이터를 저장할 수 있다.
class Dog{
    var name = "초롱이";
    var age = 2;
    void sound(){
        print("멍");
    }
}
  1. class는 메모리에 뜨지 않는다.
  2. 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

+ Recent posts