E D R , A S I H C RSS

Lazy Initialization

Lazy Initialization

ExplicitInitialization˜ ชจ“  žฅ € ‹จ œกœ, ‹จ € žฅ œกœ œ‹ค. ‹—ฐํ•˜‹ค.(--;)
LazyInitialization˜ ํ•˜‚˜˜ €ˆ˜‹ ‘ฐœ˜ ฉ”†Œ“œกœ ‚˜ˆ „œ ดˆธฐํ™” ํ•œ‹ค. ํ•˜‚˜Š” €ˆ˜€ LazyInitialization˜Š” ฒƒ„ ฐถ”–ด Š” getterดณ , ‹คฅธ ํ•˜‚˜Š” €ˆ˜—‹ค ””ํดํŠธฐ’œกœ ํ• ‹„ ํ•ด„ DefaultValueMethodด‹ค. ด ฐฉฒ•€ œ —ฐ„ด ฆŒ€œ‹ค. ‹‹ ด „œธŒํดž˜Šค งŒ“ ‹คฉด, DefaultValueMethod ˜ค„ด”ฉํ•จœกœจ, ธฐŠฅ„ ฐ”€ ˆ˜ žˆ‹ค.  „žฅ—„œ„ –ธธ‰ํ–ˆ“ด „Šฅ„ ฆŒ€‹œํ‚ฌ ˆ˜ žˆ‹ค.

€ˆ˜งˆ‹ค getter งŒ“คž. ํ•„š”ํ•˜‹คฉด DefaultValueMethod จ„œ ดˆธฐํ™” ํ•˜ž.

•ž—„œ ‚ดํŽดณธ ํƒ€ดจธ ˜ˆ œกœ ํ•ดณดž.
~cpp 
Class Timer
{
/* ... */
	int getCount()
	{	
		if(!count)	// --; –ดฉ”ˆ˜ —†‹ค. ทธƒฅ ˜ฎธด‹ค.
			count = defaultCount();
		return count;
	}
	int defaultCount()
	{	
		return 0;	// ƒˆ˜กœ ํ•ดฒฐ€Šฅํ• “
	}
	int getPeriod()
	{
		if(!period)
			period = defaultPeriod();
		return period;
	}
	int defaultPeriod()
	{
		return 1000;	// ƒˆ˜กœ ํ•ดฒฐ€Šฅํ• “
	}
};

„กœ •ˆ“ธ“ํ•˜€งŒ... „ํŠธฒก ™ˆ : ‹จ€ ExplicitInitialzationœกœ ถœฐœ„ ํ•˜ณ , ƒ†  ฐ™œฉด LazyInitialization„ ‚ฌšฉํ•œ‹ค.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:37
Processing time 0.0128 sec