접근지정자, 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 |