Dart Private Value ํ๋งค ๐ซ ๐ โจ
Aลaฤฤฑdaki class'ฤฑ dรผลรผnรผn:
class Cat {
String name;
String _color;
void meow() => print("meow");
void _pur() => print("prrrr");
}
๋ค์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Cat nora = Cat();
nora.name = "Nora"; // Okay
nora._color = "Orange"; // Invalid!
nora.meow(); // Okay
nora._pur(); // Invalid!
Private olarak iลaretlenmiล deฤiลken ya da fonksiyonlara tanฤฑmlandฤฑklarฤฑ class'ฤฑn dฤฑลฤฑndan eriลilemez.
Private deฤiลkenler ve sฤฑnฤฑf รผyeleri, class API'lerini daha okunabilir hale getirmek iรงin Dart'ta oldukรงa fazla kullanฤฑlฤฑr.
๊ทธ๋ ์ bir widget sฤฑnฤฑfฤฑnฤฑn bir build methodu olmasฤฑ gerekir. ์์นด
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
// ..
}
}
๊ธฐ๋ณธ์ ์ผ๋ก StatefulWidget์ ๋น๋ ๋ฐฉ๋ฒ์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ๊ทธ๋ ์ ๋๋ผ ๋น๊ธฐ์ olan(stateful) ์์ ฏ์ ์ฌ์ฉํ์ฌ ๋น๋ ๋ฐฉ๋ฒ์ ๋น๋ํ๊ณ ์ํ ๊ฐ์ฒด๋ฅผ ์์ฑํ์ญ์์ค. StatefulWidget ๋ฐ State๋ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์๋ฅผ ๋ค์ด, stateful ์์ ฏ์ ๋ถ๋ณ ์์ ฏ(stateless widget' gibi)์ด๋ฉฐ, ์ํ ๋น์ ์ฅ ์์ ฏ์ Flutter ์์ ฏ๊ณผ ๊ฐ์ ์ํ๋ฅผ ์ ์งํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
MyHomePage๋ ์ํ ๊ธฐ๋ฐ ์์ ฏ์ ํฌํจํ๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋งํฉ๋๋ค. Bu butona dokunduฤunuzda, _incrementCounter adlฤฑ bir method รงalฤฑลtฤฑrฤฑr:
void _incrementCounter() {
setState(() {
_counter++;
});
}
๋ฆฌ์์ค: Flutter in Action 3์ฅ
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(Dart Private Value ํ๋งค ๐ซ ๐ โจ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/gulsenkeskin/dart-private-value-kullanimi-3abeํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค