본문 바로가기



Dart 11. DART에서 private변수 선언 {유목민 알폰스}



Dart에서는 아쉽게도 따로 ( public, private, protected)와 같은 접근제어자를 제공하고 있지는 않지만 유사한 역할을 할 수 있도록 구성할 수 있습니다. 

Main.dart에서 Sub.dart파일을 임포트 하고 Sub.dart파일의 함수를 실행해 봅니다.

[ Sub.dart ]

String myPublic = "Sub.dart public 변수";
String _myPrivate = "Sub.dart private 변수";

void getSub() {
  print("======= 시작 - Sub.dart public ===========");
  print(_myPrivate);
  print(_myFunction());
  print("======= 종료 - Sub.dart public ===========");
}

String _myFunction() {
  return "Sub.dart파일의 private _myFunction!!";
}

 

[ Mart.dart ]

import 'Sub.dart';

main() {
  getSub();
}
 

[ 실행결과 ] public함수안에 private리소스를 포함해서 리턴하므로 잘 출력이 됩니다.

======= 시작 - Sub.dart public ===========

Sub.dart private 변수

Sub.dart파일의 private _myFunction!!

======= 종료 - Sub.dart public ===========

 

Private으로 사용을 제한 하려면

접근제어자를 따로 지정하는 것이 아니라 리소스 Name앞에 _ 언더바가 붙어있는 리소스는 private로 간주하여 접근을 자동 제한하게 됩니다. 이런 방식으로 private에 대한 기능을 사용하실 수 있습니다.

  • 정상 : getSub();
  • 에러 : _myFunction();
  • 에러 : print(_myPrivate);

import파일 내부의 리소스 사용

 

 

 

By. 유목민 알폰스 - Alphonse Elric