1. Static 변수: 클래스가 공유하는 저장소
설명
static 변수는 클래스에 속한 하나의 공용 저장소 라고 하고, 클래스의 모든객체가 같은 값을 공유 합니다
학교 게시판을 예를 들어..
학교 게시판에 붙은 공지사항을 떠올려봅시당
이게 모든 학생이 같은 게시판 내용을 확인하는 것처럼, static 변수는 모든 객체가 공유하는 공간입니다.
- 클래스: 학교
- 객체: 학생들
- static 변수: 학교 게시판
코드 예제
class School {
static int totalStudents = 0; // 모든 학생이 공유하는 값
School() {
totalStudents++; // 학생이 입학할 때마다 증가
}
}
void main() {
School student1 = School(); // 첫 번째 학생
School student2 = School(); // 두 번째 학생
print(School.totalStudents); // 출력: 2 (학생 수 공유)
}
2. Static 메서드: 클래스 자체가 실행하는 함수
설명
static 메서드는 객체 없이 클래스가 직접 호출할 수 있는 함수입니다.
객체 상태와 관계없는 독립적인 작업을 처리할 때 유용합니다.
계산기를 예를 드는게 맞아? 맞아 음..
계산기를 떠올려 보세요.
계산기는 **사용자(객체)**와 상관없이 숫자를 더하거나 곱할 수 있는 기능을 제공합니다.
- 클래스: 계산기
- 객체: 계산기를 사용하는 사람
- static 메서드: 더하기 기능
코드 예제
class Calculator {
static int add(int a, int b) => a + b; // 더하기 메서드
}
void main() {
print(Calculator.add(3, 5)); // 출력: 8
}
3. Static의 특징을 정리해 보자!
쉽게 기억해보자구여
- static 변수: 클래스가 관리하는 공용 저장소
- static 메서드: 클래스가 직접 실행하는 독립적인 기능
요약
- static 변수
- 비유: 학교 게시판 (공유되는 정보)
- 공유된 값으로 동작함.
- static 메서드
- 비유: 계산기 (독립적인 작업)
- 객체 없이 클래스에서 직접 호출 가능.
'TIL' 카테고리의 다른 글
Flutter의 Key는 무엇인가요? (0) | 2025.01.15 |
---|---|
Dart의 Garbage Collector란? (0) | 2025.01.13 |
Flutter의 빌드 모드에는 무엇이 있는지 알아보자 (0) | 2025.01.10 |
Flutter에서 패키지와 플러그인은 무엇인가요? (1) | 2025.01.09 |
Oauth 2.0 과 OIDC에 대해 설명..! (1) | 2025.01.06 |