접근지정자, getter, setter
접근지정자
기본 public = 모든 파일 접근 가능
언더스코어를 붙이면 private = 해당 파일만 접근 가능 (클래스 x)
class Animal{
    String _name;
}
class Test {
    void play(){
        Animal a2 = Animal();
        a2._name = "원숭이"; // 같은 파일이기에 접근 가능
    }
}
main(){
    // new 생략 가능
    Animal a1 = Animal();
    a1._name = "호랑이"; // 같은 파일이기에 접근 가능
}생성자, getter, setter
생성자
car.dart
class Car{
    String _name; //private
    // 초기화 생성자
    Car(this._name){}
    // 초기 생성자 필요없을때
    Car.origin()
    // getter
    String getName(){
        return _name;
    }
}main.dart
import 'cart.dart';
main(){
    // private에 접근하기위해 초기화 생성자 필요
    Car c = Car("아반떼");
    // 초기 생성자 없이 불러오기
    Car c2 = Car.origin();
}getter
car.dart
class Car{
    String _name; //private
    // 초기화 생성자
    Car(this._name){}
    // getter
    String getName(){
        return _name;
    }
    // getter 축약
    String get name{
        return _name;
    }
}main.dart
import 'cart.dart';
main(){
    // private에 접근하기위해 초기화 생성자 필요
    Car c = Car("아반떼");
    // 호출
    // getter 축약법
    print(c.name); 
}setter
car.dart
class Car{
    String _name; //private
    // 초기화 생성자
    Car(this._name){}
    //setter
    setName(String value){
        _name = value;
    }
    //setter 축약법
    set name(String value){
        _name = value;
    }
}main.dart
import 'cart.dart';
main(){
    Car c = Car();
    // setter 축약법
    c.name = '아반떼';
}참고
https://www.youtube.com/watch?v=mdjp2knKMeg&list=PL93mKxaRDidGEaUXprXqhNvSW02xCjLZI&index=15
728x90
    
    
  'Study > Dart' 카테고리의 다른 글
| [Dart] 상속을 쓰는 이유 (0) | 2021.06.07 | 
|---|---|
| [Dart] 상속 (0) | 2021.06.07 | 
| [Dart] 클래스 (0) | 2021.06.04 | 
| [Dart] final 과 const 차이 (0) | 2021.06.04 | 
| [Dart] 반복문과 깊은 복사 (0) | 2021.06.04 |