이 글은 골든래빗 《코드팩토리의 플러터 프로그래밍》의 2장 객체지향프로그래밍의 써머리입니다
static
을 사용할 시 모든 속성은 클래스 자체에 귀속된다.class Counter{
static int i=0; // static 키워드를 이용한 변수 선언
Counter(){
i++;
print(i++);
}
}
void main() {
Counter count1 = Counter();
Counter count2 = Counter();
Counter count3 = Counter();
]
static
값을 지정하지 못하며 인스턴스끼리 공유해야하는 정보에 지정해야한다.static
키워드를 사용하여 클레스의 메서드를 정적으로 선언 가능class MathUtils {
static int add(int a, int b) {
return a + b;
}
}
void main() {
int result = MathUtils.add(3, 5);
print(result); // 8
}
static
키워드를 사용하여 정적 변수를 선언class Counter {
static int count = 0;
void increment() {
count++;
}
}
void main() {
Counter c1 = Counter();
Counter c2 = Counter();
c1.increment();
c2.increment();
print(Counter.count); // 2
}
static const
를 사용하여 클래스 내에서 상수 변수를 정의class Constants {
static const int maxItems = 10;
}
void main() {
print(Constants.maxItems); // 10
}
var paint = Paint()
..color = Colors.black
..strokeCap = StrokeCap.round
..strokeWidth = 5.0;
class Circle {
double radius = 0.0;
void calculateArea() {
print('Area: ${3.14 * radius * radius}');
}
}
void main() {
Circle circle = Circle()
..radius = 5.0
..calculateArea(); // Area: 78.5
}