프로그래밍 공부 메모/flutter

class 다루기 #2 private variable / getter, setter (내용 수정 하기)

jjs815 2022. 5. 15. 23:46

- private 변수

전통적인 oop 객체지향 언어들은 private 변수는 같은 class내에서만 접근하거나 사용 가능하도록 구동한다

하지만 dart언어의 경우 class 단위가 아닌 같은 파일 단위로 그 범위가 지정되어 있다

만약 main() 함수가 다른 파일에 있고 private 변수를 호출하고 싶다면 어떻게 해야 하나? 이땐 getter, setter를 사용한다

priavate 변수 선언은 변수명에 언더스코어( _ )를 붙여준다

void main() {
  
  //getter , setter
  //getter -> 값을 가져올때
  //setter -> 값을 변경할때
  
  Idol seulgi = new Idol(name : '슬기', group : '레드벨벳');
  seulgi.sayName();
  
  seulgi._name;
}

class Idol{
  //private variable
  String? _name;
  String? _group;
  
  Idol({String? name, String? group}) : this._name = name, this._group = group;
 
  void sayName(){
  print('저는 ${this._name} 입니다');
  }
}

※ main() 함수와 클래스 Idol이 같은 파일에 있기 때문에 " seulgi._name; " private 변수를 메인 함수에서 호출해도 에러가 발생하지 않는다

 

 

반응형