TIL: Flutter | Dart (7) 접근 지정자와 캡슐화, getter / setter - 221212

Lumpen·2022년 12월 11일
0

Dart

목록 보기
7/20

접근 지정자

그리고 4대 특징
1. 추상화
2. 캡슐화
3. 상속
4. 다형성

접근 지정자는 캡슐화의 정보 은닉과 관련이 있다

캡슐화

연관된 목적을 가지는 객체의 속성(필드)과 행위(메소드)를 클래스로 묶어
하나의 기능을 수행하는 객체를 만들고
구현에 사용된 상세 내용을 외부에 감춘다
정보 은닉과 보호를 위해 사용

접근 지정자는 클래스의 멤버 변수 또는 메서드 앞에 선언하여
외부에서 접근할 수 있는 범위를 지정한다

다트는 private와 public 두 가지의 접근 지정자를 제공한다
다트에서의 private는 동일 클래스 범위가 아닌 라이브러리 범위에서의 접근이 가능하다
default 는 public
private의 키워드는 언더바(_)를 사용한다

String _name; // private
int age; // public

그냥 private 키워드를 사용하는 쪽이 눈에 띄긴 하는데.. 이건 문법이니 어쩔 수 없다
같은 라이브러리 안에서는 private 이 접근 가능하니 주의해야겠다

getter, setter

public으로 선언된 것에는 아무 곳에서나 접근이 가능하기 때문에
혹시 모를 문제가 발생할 수 있다

이런 일을 방지하기 위해서 정보를 은닉하는데
캡슐화를 통해서 진행한다

정보 은닉을 위해서는 멤버 변수를 private로 선언하고
getter와 setter를 통해서만 접근할 수 있도록 한다

getter는 현재 값을 가져오는 역할
setter는 업데이트하는 역할
리액트를 경험했다면 useState Hook의 상태 관리 하는 방식과 같다

그렇다면 getter와 setter는 public이 되어야겠다

profile
떠돌이 생활을 하는. 실업자는 아니지만, 부랑 생활을 하는

0개의 댓글