class, instansce 를 이용하여 객체 지향 프로그래밍이 가능함
하지만 실수로 속성을 덮어쓰거나, 잘못된 조작으로 인해서 생기는 실수를 방지하기 위해
'캡슐화' 라는 방법 사용
멤버에 대한 접근 제어
접근 지정자 (access modifier)
getter, setter 사용 목적
// access 검사
String _name;
String get name => _name;
set name(String nameVal) {
// 문자열 길이 검사
if (nameVal.length <= 1) {
throw Exception('$nameVal is too short');
}
// 문자열 길이 검사
if (nameVal.length >= 8) {
throw Exception('$nameVal is too long');
}
// 검사 완료 후
_name = nameVal;
}
잘못된 접근에 대한 제어
ref)