static(정적멤버)

하상현·2024년 5월 2일
0

- static키워드가 붙어 있는 정적 멤버(필드 또는 메소드)는 각 인스턴스가 아닌, 클래스에 실체가 준비된다.
- 인스턴스를 생성하지 않아도 이용가능하다.
- 정적메소드는 그 내부에 정적이지 않은 메소드나 필드를 이용하는 것이 불가능하다.

static 키워드는 Dart에서 클래스 멤버(변수 또는 메서드)를 정의할 때 사용됩니다. static으로 정의된 멤버는 해당 클래스의 인스턴스와는 독립적으로 클래스 자체에 속하며, 클래스의 모든 인스턴스가 공유하는 값 또는 동작을 나타냅니다.

👉 코드와 함께 이해하기 쉽게 설명된글 보러가기

정적 변수 (Static Variables)

정적 변수는 클래스의 모든 인스턴스가 공유하는 변수입니다. 클래스의 하나의 인스턴스에서 변경하면 다른 모든 인스턴스에서도 변경된 값이 반영됩니다.

class Counter {
  static int count = 0; // 정적 변수 count 선언 및 초기화
  
  void increment() {
    count++; // count 증가
  }
}

void main() {
  Counter c1 = Counter();
  Counter c2 = Counter();

  c1.increment(); 
  print('Count after incrementing c1: ${Counter.count}'); // c1 증가 후 count 값 출력

  c2.increment(); 
  print('Count after incrementing c2: ${Counter.count}'); // c2 증가 후 count 값 출력
}
// 출력
Count after incrementing c1: 1
Count after incrementing c2: 2

정적 메서드 (Static Methods)

정적 메서드는 클래스의 인스턴스를 생성하지 않고 호출할 수 있는 메서드입니다. 정적 메서드는 클래스의 인스턴스 속성에 접근할 수 없고, 주로 해당 클래스와 관련된 유틸리티 함수를 구현하는 데 사용됩니다.

0개의 댓글