플러터에서 변수의 종류

2024. 6. 19. 23:32Flutter/Flutter Programming

반응형

플러터와 다른 프로그래밍 언어에서 지역 변수(Local Variable)는 존재합니다. 지역 변수는 특정 블록이나 함수 내에서 선언되어 그 범위 내에서만 유효한 변수를 의미합니다. 지역 변수는 글로벌 변수(Global Variable)나 인스턴스 변수와는 달리, 선언된 블록이나 함수가 끝나면 메모리에서 해제됩니다.

플러터에서 변수의 종류

1. 로컬 변수(Local Variable)

  • 함수나 메서드 내부에서 선언된 변수로, 그 함수나 메서드가 끝나면 소멸합니다.
  • 예제
void someFunction() {
  int localVar = 5;  // localVar는 someFunction 안에서만 유효합니다.
  print(localVar);
}

void main() {
  someFunction();
  // print(localVar);  // 오류: localVar는 main 함수에서 접근할 수 없습니다.
}

2. 글로벌 변수(Global Variable)

  • 함수나 클래스 외부에서 선언된 변수로, 프로그램 전체에서 접근 가능합니다.
  • 예제
     
int globalVar = 10;  // 프로그램 전체에서 접근 가능

void someFunction() {
  print(globalVar);
}

void main() {
  print(globalVar);
  someFunction();
}

3. 인스턴스 변수(Instance Variable)

 

  • 클래스 내부에 선언된 변수로, 클래스의 인스턴스(객체)가 생성될 때마다 인스턴스마다 별도로 생성됩니다.
  • 예제
class MyClass {
  int instanceVar = 20;  // 클래스의 인스턴스마다 생성되는 변수

  void displayVar() {
    print(instanceVar);
  }
}

void main() {
  MyClass obj1 = MyClass();
  MyClass obj2 = MyClass();

  obj1.displayVar();  // 출력: 20
  obj2.displayVar();  // 출력: 20
}

 

4. 정적 변수(Static Variable)

 

  • 클래스에 속하지만 클래스의 모든 인스턴스 간에 공유되는 변수입니다.
  • 예제
class MyClass {
  static int staticVar = 30;  // 클래스의 모든 인스턴스 간에 공유되는 변수

  void displayVar() {
    print(staticVar);
  }
}

void main() {
  MyClass obj1 = MyClass();
  MyClass obj2 = MyClass();

  obj1.displayVar();  // 출력: 30
  obj2.displayVar();  // 출력: 30

  MyClass.staticVar = 50;  // 정적 변수는 클래스 이름으로 접근 가능

  obj1.displayVar();  // 출력: 50
  obj2.displayVar();  // 출력: 50
}

 

 

 

지역 변수의 사용 예

void main() {
  int globalVar = 1;  // 글로벌 변수

  void myFunction() {
    int localVar = 2;  // 지역 변수
    print(localVar);  // 출력: 2
    print(globalVar); // 출력: 1
  }

  myFunction();

  // print(localVar);  // 오류: localVar는 main 함수에서 접근할 수 없습니다.
}

결론

지역 변수(Local Variable)는 함수나 블록 내부에서 선언되어 그 범위 내에서만 유효한 변수입니다.

이는 프로그램의 특정 부분에서만 데이터를 저장하고 사용하고자 할 때 매우 유용합니다.

글로벌 변수(Global Variable)와 인스턴스 변수(Instance Variable)와는 달리, 지역 변수는 메모리 사용을 효율적으로 관리할 수 있도록 도와줍니다.

플러터에서 변수의 적절한 사용은 코드의 가독성을 높이고 유지보수성을 향상시키는 데 중요한 역할을 합니다.

 

 

수발가족을 위한 일기장 “나비일기장

 

https://play.google.com/store/apps/details?id=com.maccrey.navi_diary_release

 

구글플레이 앱 배포의 시작! 비공개테스트 20명의 테스터모집을 위한 앱 "테스터 쉐어"

 

https://play.google.com/store/apps/details?id=com.maccrey.tester_share_release

 

Tester Share [테스터쉐어] - Google Play 앱

Tester Share로 Google Play 앱 등록을 단순화하세요.

play.google.com

카카오톡 오픈 채팅방

https://open.kakao.com/o/gsS8Jbzg

 

 

반응형