클래스 변수와 메서드
A tour of the Dart language 페이지를 공부하면서 정리한 내용입니다.
static
키워드를 이용해서 정적 변수와 메서드를 구현합니다.
정적 변수
정적 변수(Static variables)는 클래스 상태 및 상수 정의에 사용합니다. 정적 변수는 사용되기 전까지 초기화되지 않습니다. Dart에서는 정적 변수에 lowerCamelCase
스타일이 추천됩니다.
class Queue {
static const initialCapacity = 16;
// ···
}
void main() {
assert(Queue.initialCapacity == 16);
}
정적 메서드
정적 메서드(Static methods)는 클래스 레벨에서 제공할 기능을 정의하며, 정적 변수와 맞찬가지로 클래스명을 이용해 접근합니다.
import 'dart:math';
class Point {
double x, y;
Point(this.x, this.y);
static double distanceBetween(Point a, Point b) {
var dx = a.x - b.x;
var dy = a.y - b.y;
return sqrt(dx * dx + dy * dy);
}
}
void main() {
var a = Point(2, 2);
var b = Point(4, 4);
var distance = Point.distanceBetween(a, b);
assert(2.8 < distance && distance < 2.9);
print(distance);
}
정적 메서드는 컴파일 타임 상수로 사용할 수 있습니다. 이를 이용해 정적 메서드를 상수 생성자에 대한 매개 변수로 전달할 수 있습니다.
Last updated