[TIL] Dart-Getter and Setter

link717·2021년 7월 19일
0

TIL

목록 보기
42/53
post-thumbnail

🌼 Getter and Setter

  • Getter: class 내부의 값을 가져올 때 사용한다.

  • Setter: class 내부의 값을 변경할 때 사용한다.

    Q 함수를 사용해도 값을 읽거나 변경할 수 있는데 getter와 setter를 사용하는 이유는 무엇일까?
    . 함수를 사용하면 사용시 () barcket이 추가되는 것 외에 getter, setter 사용법의 차이는 없다.
    . 다만, 일반적으로 private 변수를 변경할 때는 getter, setter를 사용하기로 약속한 것이다.

void main() {
  //Getter and Setter
  Idol seulgi = new Idol(name: '슬기', group: '레드벨벳');
  seulgi.sayName();
  print(seulgi._name); //private variable 읽음
  print(seulgi.name);  //getter를 통해 private variable을 읽음
  seulgi.name = '코드팩토리'; //setter를 통해 값을 변경함
  print(seulgi.name); //setter로 변경한 private variable을 getter를 통해 읽음
}

class Idol {
  //변수 이름 앞에 _를 붙이면 private variable로 쓸 수 있다.
  //보통의 전통적인 class는 private 변수는 같은 class 안에서만 가져올 수 있다.
  //dart는 같은 파일일 경우에 private 변수를 가져올 수 있다.
  String _name;
  String _group;
  
  Idol({name, group}) : this._name = name, this._group = group;
  
  void sayName() {
    print('제 이름은 ${this._name}입니다.');
  }
  
  //getter
  String get name{
    return this._name;
  }
  
  //setter
  //한가지 변수만 받아서 수정할 수 있다.
  set name(String name) {
    this._name = name;
  }
}

출처:YOUTUBE-코드팩토리

profile
Turtle Never stop

0개의 댓글