private
키워드를 사용하고 public getter, setter를 사용하여 값에 접근, 세팅을 가능하게 함
class BankDetails {
int? bankBalance;
}
void main (){
final john = BankDetails();
john.bankBalance = 1000;
print(john.bankBalance);
}
위의 코드에서, john.bankBalance를 1000으로 세팅하고 있음
메인 함수에서 bankBalance라는 값을 수정할 수 없게 처리하고 샆다면, bankBalance의 값을 접근할 수 없도록 만들면 됨
Dart에는 public
, private
, protected
와 같은 키워드가 존재하지 않음
메소드 또는 변수를 private
형태로 변경하고 싶다면, _
를 변수 앞에 붙히면 됨
class BankDetails {
BankDetails({
required this.password,
});
int? _bankBalance;
String password;
set setBalance(int newBalance) {
if(password == getActualPasswordFromDB())
_bankBalance = newBalance;
}
get getBalance => _bankBalance ?? 'UnAuthorized Access';
}
// main.dart
import 'test.dart';
void main() {
final john = BankDetails(password: '1234');
john.setBalance = 1000;
print(john.getBalance);
}