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.0212 sec