■ 캡슐화
인간의 실수를 미연에 방지하기 위해 쓰는 것이 캡슐화다.
표를 보자
필드에 대한 엑세스 제어
제한이 엄격 private 멤버 앞에 붙이기 자기 자신의 클래스
제한이 느슨 public 기본 값 모든 클래스
(언더바)를 붙이면 private해진다는거다.
코드를 보자
class Hero {
static int money = 100;
String name;
int _hp;
Hero({
required thos.name,
required int hp,
this.sword,
}) : _hp = hp;
여기서 int _hp만 private하다.
이 클래스 바깥에서 조작할 수 없다는 뜻이다. -> 자신의 클래스에서만 사용할 수 있으니까 캡슐화 됐다.
밑에 생성자를 보자.
hp에 _hp값을 할당했다.
자신의 클래스 안이라서 할당 받는게 가능했고 외부 클래스에서는 쓸 수 없다.