게터와 세터
계산된 속성과 보호된 속성을 외부에 제공합니다
게터와 세터은(는) CoddyKit의 무료 Dart Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Dart Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Dart Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
단순한 필드를 넘어서
때로는 계산되거나 접근이 제어되는 속성이 필요합니다. Dart는 값을 읽고 쓰는 방식을 제어할 수 있도록 게터와 세터를 제공합니다.
게터란 무엇인가요
게터는 외부에서 필드처럼 보이지만 코드를 실행해 값을 만들어 냅니다. get 키워드로 정의합니다.
int get area => width * height;게터는 값을 계산합니다
게터는 다른 필드에서 파생되는 값을 표현하는 데 적합합니다. 괄호 없이 일반적인 점 표기법으로 읽습니다.
class Box {
int w = 2, h = 3;
int get area => w * h;
}게터 호출하기
게터에 필드와 똑같이 접근하세요. 내부 코드가 접근할 때마다 실행되므로 항상 최신 데이터를 반영합니다.
var b = Box();
print(b.area); // 6세터란 무엇인가요
세터는 값을 할당할 때 코드를 실행합니다. set 키워드와 입력을 받을 하나의 매개변수로 정의합니다.
set width(int value) {
_w = value;
}세터로 입력 제어하기
세터는 저장하기 전에 값을 검증할 수 있습니다. 잘못된 데이터를 거부하거나 범위를 제한하거나 할당 과정에서 변경 사항을 기록할 수 있습니다.
set age(int v) {
if (v >= 0) _age = v;
}비공개 지원 필드
밑줄로 시작하는 이름은 해당 라이브러리에서만 비공개입니다. 세터는 _age와 같은 비공개 지원 필드를 제어하는 경우가 많습니다.
int _age = 0;
int get age => _age;세터 호출하기
등호를 사용해 필드와 같은 방식으로 세터에 값을 할당합니다. Dart는 해당 할당을 값을 제어하는 코드로 전달합니다.
var p = Person();
p.age = 25;세터 없는 게터
게터만 정의하면 읽기 전용 속성을 만들 수 있습니다. 외부 코드에서 읽을 수는 있지만 값을 할당할 수는 없습니다.
String get fullName => "$first $last";게터와 세터를 사용하는 이유
게터와 세터를 사용하면 호출하는 코드를 깨뜨리지 않고 나중에 내부 저장 방식을 바꿀 수 있습니다. 공개 속성은 그대로 유지되고 로직은 그 뒤에 숨습니다. 🔐
계산 프로퍼티 예시
게터는 형식 지정에 유용합니다. 여러 필드를 호출자가 일반 프로퍼티처럼 읽을 수 있는 친숙한 문자열로 결합해 보십시오.
String get label => "$name: $score pts";빠른 확인
다른 코드는 읽을 수 있지만 절대 할당할 수 없는 프로퍼티를 만들고 싶습니다. 무엇을 정의해야 할까요?
복습: 게터와 세터
게터는 값을 계산하고 노출하며, 세터는 할당을 검사하고, 둘을 함께 사용하면 내부 세부 사항을 깔끔하게 숨길 수 있다는 것을 배웠습니다. 🎉
자주 묻는 질문
“게터와 세터” 강의는 무료인가요?
네 — “게터와 세터” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Dart Academy 강의 전체를 잠금 해제할 수 있습니다. Dart Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“게터와 세터”에서 뭘 배우나요?
계산된 속성과 보호된 속성을 외부에 제공합니다 브라우저에서 직접 실행하는 실습 코드로 Dart Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Dart Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Dart Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“게터와 세터” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Dart Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Dart Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.