[flutter]namespace는 ?

2022년 07월 31일 by 진아사랑해

    [flutter]namespace는 ? 목차
반응형

개요

dart에서 namespace라는 개념은 없습니다.

대신에 library를 사용할 수 있습니다.

라이브러리는 여러 파일로 구성될 수 있고, 여러 클래스와 함수들을 포함할 수 있다는 점에서 

namespace와 동일한 것으로 간주할 수 있습니다.

Library  정의 

utillities.dart 파일이 있는 경우 이 파일을 Library로 사용하고 샆으면

utillities.dart 파일의 맨 처음 문장으로 "library utillities;" 문장을 포함하여야 합니다

"part"키워드로 사용할 수 있습니다.

part 키워드를 사용하면 여러 개의 파일들을 묶어서 동일한 라이브러리의 일부로 만들 수 있습니다.

일반적으로 part를 구성하는 파일은 라이브러리의 메인 파일이 있는 곳의 아래 /src 에 파트 파일들을 구성합니다.

 

utillities.dart 에는

library utillities

part "src/string_utils.dart"

part "src/date_utils.dart"

 

src/string_utils.dart 파일에는

part of utillities;

 

기타 내용

part 키워드 보다는 미니 라이브러리를 여러 개 만들어서 원하는 라이브러리 파일에 import하는 것도 

라이브러리를 여러 파일로 구성하는 하나의 방법입니다.

 

import 하는 라이브러리에 동일한 이름의 함수를 포함하는 경우 

함수 명 충돌이 발생합니다.

이럴 경우에는 as 키워드를 사용하여 피할 수 있습니다.

import "some/other/utilities.dart" as your_utils;

 사용하는 방법은

var your_reversed_string = your_utils.reverseString("Bar");

참고사이트는

https://stackoverflow.com/questions/13876879/how-do-you-namespace-a-dart-class

 

How do you namespace a Dart class?

How do you create a namespace for a Dart class? I come from a C# background, where one would just use namespace SampleNamespace { }. How do you achieve the same in Dart?

stackoverflow.com

 

반응형