dart,flutter

[Dart] _ 언더스코어 변수,클레스 앞에 쓰이면?

곽코딩루카 2025. 3. 6. 14:52
반응형

Dart에서 _(언더스코어)가 변수명 앞에 붙는 이유

Dart에서는 언더스코어(_)를 변수나 클래스 이름 앞에 붙이면 "private(비공개, 접근 제한)"을 의미.
즉, _locationService, _locationMessage, _fetchLocation 같은 변수와 메서드는 현재 파일(HomeScreen.dart) 내부에서만 사용 가능하다는 의미이다.

class Example {
  int publicVar = 10;   // 모든 파일에서 접근 가능
  int _privateVar = 20; // 같은 파일에서만 접근 가능
}

 

// main.dart
import 'example.dart';

void main() {
  var example = Example();
  print(example.publicVar); // ✅ 가능
  print(example._privateVar); // ❌ 오류 (다른 파일에서는 접근 불가능)
}

 

Java와 비교

Dart (Flutter)Java (Android)설명

int value = 10; public int value = 10; 공개 변수
int _value = 10; private int value = 10; 비공개 변수 (Dart에서는 _로 private 처리)
void _method() {} private void method() {} 비공개 메서드 (Dart에서는 _로 private 처리)

Dart에는 public 키워드가 없고, _가 private 역할을 함!

반응형