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);
By. 유목민 알폰스 - Alphonse Elric
'Dart' 카테고리의 다른 글
Dart 12. { const, final }와 { var, dynamic } 타입 {유목민 알폰스} (1) | 2023.11.05 |
---|---|
Dart 11. 데이터 타입 [String, int, double] Type 사용 (1) | 2023.11.05 |
Dart 10. DART/Flutter의 리소스 충돌이나 변수의 중복문제 해결 {유목민 알폰스} (2) | 2023.11.04 |
Dart 09. 내가 만든 라이브러리 만들고 포함하기 {유목민 알폰스} (1) | 2023.11.04 |
DART 08. import 특정 부분만 제외 특정 부분만 추가 {유목민 알폰스} (1) | 2023.11.03 |