

Dart 문법 OOP - staticDart/OOP2024. 8. 21. 15:51
Table of Contents
static 기본 개념
static 키워드를 사용하면 변수나 메서드가 클래스 자체에 귀속된다.
이는 해당 클래스의 모든 인스턴스가 공유하는 요소를 만들 때 유용하다.
주요 특징:
- 클래스의 모든 인스턴스가 공유한다.
- 인스턴스를 생성하지 않고도 접근할 수 있다.
- 메모리 효율성을 높일 수 있다.
static 변수 (정적 변수) 예제
static 변수는 클래스의 모든 인스턴스가 공유하는 변수다. 클래스의 인스턴스를 생성하지 않고도 접근할 수 있다.
이 예제에서 count는 static 변수이므로 모든 Counter 인스턴스가 공유한다.
주의: static 변수는 클래스에 직접 귀속되기 때문에 생성자에서 this.count와 같은 방식으로 초기화할 수 없다.
static 메서드
static 메서드도 클래스 레벨에서 동작한다:
이 예제에서 calculateCircleArea 메서드는 객체를 생성하지 않고도 직접 호출할 수 있다.
static의 사용 사례
- 유틸리티 함수: 객체 상태와 무관한 순수 함수적 동작을 하는 메서드
- 상수: 클래스와 관련된 고정 값 (예: 수학 상수)
- 팩토리 메서드: 객체 생성을 캡슐화하는 메서드
- 싱글톤 패턴: 클래스의 인스턴스를 하나만 생성하고 공유하는 디자인 패턴
static의 장단점
장점:
- 메모리 효율성: 인스턴스마다 중복해서 메모리를 할당하지 않는다.
- 전역 접근성: 클래스 이름만으로 접근 가능하다.
- 상태 공유: 모든 인스턴스 간에 정보를 공유할 수 있다.
단점:
- 객체 지향의 캡슐화 원칙을 약화시킬 수 있다.
- 테스트하기 어려울 수 있다 (전역 상태로 인한 부작용).
- 과도한 사용은 코드의 응집도를 낮출 수 있다.
'Dart > OOP' 카테고리의 다른 글
Dart 문법 OOP - enum (0) | 2024.08.21 |
---|---|
Dart 문법 OOP - 메서드 호출, 캐스케이드 연산자 (0) | 2024.08.21 |
Dart 문법 OOP - 제네릭 (0) | 2024.08.21 |
Dart 문법 OOP - 추상 (0) | 2024.08.21 |
Dart 문법 OOP - 믹스인 (0) | 2024.08.21 |

@codeJunH :: codeJunH의 IT 공부 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!