정적 멤버와 클래스 상수
클래스 수준에서 데이터와 도우미를 공유합니다
정적 멤버와 클래스 상수은(는) CoddyKit의 무료 Dart Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Dart Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Dart Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
인스턴스별이 아닌 공유
대부분의 멤버는 각 객체에 속하지만, 일부는 클래스 자체에 속합니다. 이러한 멤버를 정적 멤버라고 하며, 모든 객체가 공유합니다.
정적 필드
필드를 정적으로 표시하면 인스턴스마다 하나씩 존재하는 것이 아니라 전체 클래스에 하나만 존재합니다. 모든 객체가 같은 값을 봅니다.
class Dog {
static int count = 0;
}정적 멤버에 접근하기
정적 멤버에는 인스턴스가 아니라 클래스 이름을 통해 접근합니다. 사용하기 위해 객체를 만들 필요가 없습니다.
Dog.count = 5;
print(Dog.count);인스턴스 개수 세기
정적 필드의 대표적인 용도는 공유 카운터입니다. 새 객체가 만들어질 때마다 카운터를 증가시켜 현재 존재하는 객체 수를 추적할 수 있습니다.
Dog() {
count++;
}정적 메서드
정적 메서드도 클래스에 속합니다. 이 메서드에는 this가 없으므로 인스턴스 필드에는 접근할 수 없고 정적 필드에만 접근할 수 있습니다.
static int square(int n) => n * n;정적 메서드 호출하기
정적 메서드는 클래스 이름에서 호출합니다. 클래스 이름 아래에 묶어 둔 네임스페이스 헬퍼 함수처럼 작동합니다.
var r = MathUtil.square(4); // 16클래스 상수
정적과 상수를 결합하면 공유 상수를 만들 수 있습니다. 이 값은 컴파일 시 계산되며 클래스 전체에서 동일합니다.
static const double pi = 3.14159;클래스 상수 사용하기
정적 필드와 마찬가지로 클래스 이름을 통해 클래스 상수를 읽습니다. 고정된 구성 값에 적합합니다.
print(Circle.pi);정적 멤버는 인스턴스를 볼 수 없습니다
정적 멤버는 객체 없이 실행되므로 this가 없습니다. 정적 멤버에서 인스턴스 필드를 읽으려고 하면 오류가 발생합니다.
static void show() {
// print(name); // error
}정적 멤버를 선택할 때
데이터나 동작이 특정 객체 하나가 아니라 타입 전체에 속할 때 정적 멤버를 사용하십시오.
정적 헬퍼로 정리하기
관련 헬퍼를 정적 메서드로 묶으면 독립적으로 흩어진 함수 대신 하나의 클래스 이름 아래에 깔끔하게 정리할 수 있습니다. 🧰
빠른 확인
클래스의 모든 객체가 공유하는 카운터 하나를 만들고 싶습니다. 무엇을 사용해야 할까요?
복습: 정적 멤버와 상수
정적 멤버는 클래스에 속하고 this가 없으며, 정적 상수 선언은 컴파일 시점에 결정되는 공유 상수를 정의한다는 것을 배웠습니다. 🎉
AI 튜터와 함께 Dart을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 30
- 레슨
- 120
자주 묻는 질문
“정적 멤버와 클래스 상수” 강의는 무료인가요?
네 — “정적 멤버와 클래스 상수” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Dart Academy 강의 전체를 잠금 해제할 수 있습니다. Dart Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“정적 멤버와 클래스 상수”에서 뭘 배우나요?
클래스 수준에서 데이터와 도우미를 공유합니다 브라우저에서 직접 실행하는 실습 코드로 Dart Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Dart Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Dart Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“정적 멤버와 클래스 상수” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Dart Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Dart Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 필드가 있는 클래스 정의하기
- 인스턴스 메서드와 this
- 게터와 세터
- 정적 멤버와 클래스 상수