Updated:

less than 1 minute read

개요

  • 클래스
    • 일종의 설계도
  • 인스턴스
    • 클래스를 이용해서 선언된 객체
  • 인스턴스화
    • 클래스에서 인스턴스를 생성하는 과정
  • 네임드 생성자
    • 클래스를 생성하는 여러 방법을 명시하고 싶을 때 사용
    • {클래스명.네임드 생성자명}
  • 프라이빗 변수
    • 클래스 내부가 아닌 같은 파일에서만 접근가능한 변수
    • _로 변수명을 시작
  • 게터
    • get 키워드 사용
  • 세터
    • set 키워드 사용


예제

  • 코드
    • class Test {
        int i = 1;
        final String s;
        late int _j = 2;
             
        Test(this.s);
        Test.namedConstructor01(this.s, this.i);
             
        int get j {
          return _j;
        }
             
        set j(int j) {
          _j = j;
        }
             
        void func1() {
          print(s);
          print(i);
        }
             
        void func2() {
          String s = "bbb";
          print(s);
          print(this.s);
             
          print('1 : $s');
          print('2 : $this');
          print('3 : $this.s');
          print('4 : ${this.s}');
        }
      }
             
      void main() {
        Test t = Test('aaa');
        t.func1();
        t.func2();
             
        Test t2 = Test.namedConstructor01('aaa', 1);
        print(t2._j);
        t2.j = 3;
        print(t2.j);
      }
      
  • 실행 결과
    • aaa
      1
      bbb
      aaa
      1 : bbb
      2 : Instance of 'Test'
      3 : Instance of 'Test'.s
      4 : aaa
      2
      3