E D R , A S I H C RSS

Explicit Initialization

Explicit Initialization

μΈμŠ€ν„΄μŠ€ λ³€μˆ˜λ“€μ„ μ–΄λ–»κ²Œ λ””ν΄νŠΈκ°’μœΌλ‘œ μ΄ˆκΈ°ν™”μ‹œμΌœμ£ΌλŠ”κ°€?

μ΄ˆκΈ°ν™”μ— λŒ€ν•΄μ„œλŠ” λ”±νžˆ μ •ν•΄μ§„ 쒋은 방법이 μ—†λ‹€.(상황에 따라 νƒμΌν•΄μ„œ μ“°λΌλŠ” 말) 이 νŒ¨ν„΄μ€ μœ μ—°μ„±λ³΄λ‹€λŠ” 가독성을 μ€‘μ‹œν•œλ‹€. λͺ¨λ“  μ΄ˆκΈ°ν™”λ₯Ό ν•˜λ‚˜μ˜ λ©”μ†Œλ“œμ— λ•Œλ €λ„£λŠ” 방법이닀. μœ μ—°μ„±μ€ λ–¨μ–΄μ§ˆ 수 밖에 μ—†λ‹€. λ³€μˆ˜ ν•˜λ‚˜ μΆ”κ°€ν•˜μžλ©΄ ExplicitInitialization λ©”μ†Œλ“œλ₯Ό μˆ˜μ •ν•΄μ•Όλ§Œ ν•œλ‹€λŠ” 것을 κΈ°μ–΅ν•˜κ³  μžˆμ–΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€. ExplicitInitialization은 LazyInitialization보닀 λΉ„μš©μ΄ 많이 λ“ λ‹€. λͺ¨λ“  λ³€μˆ˜λ₯Ό μΈμŠ€ν„΄μŠ€κ°€ μƒμ„±λ λ•Œ μ΄ˆκΈ°ν™” ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€.

λͺ¨λ“  λ³€μˆ˜λ“€μ„ λͺ…μ‹œμ μœΌλ‘œ μ„€μ •ν•΄μ£ΌλŠ” initializeλ©”μ†Œλ“œλ₯Ό κ΅¬ν˜„ν•˜λΌ. newλ©”μ„Έμ§€λ₯Ό μ˜€λ²„λΌμ΄λ”©ν•΄μ„œ μƒˆλ‘œμš΄ μΈμŠ€ν„΄μŠ€μ— 맞게 ν•˜λΌ.

1000 λ°€λ¦¬μ„Έμ»¨λ“œλ§ˆλ‹€ μ‹€ν–‰λ˜λŠ” 타이머λ₯Ό μƒκ°ν•΄λ³΄μž. 이 νƒ€μ΄λ¨ΈλŠ” μ–Όλ§ˆλ‚˜ λ§Žμ€ μ‹œκ°„μ΄ μ§€λ‚˜κ°”λ‚˜λ„ κΈ°μ–΅ν•˜κ³  μžˆλ‹€.
~cpp 
Class Timer
{
/* ... */
	void initialize()
	{
		count = 0;
		period = defaultMillisecondPeriod();	// C++/JAVAμ—μ„œλŠ” κ·Έλƒμƒμˆ˜λ‘œ 써도 λ λ“―ν•˜λ‹€.
	}
	int defaultMillisecondPeriod()
	{
		return 1000;
	}
	Timer()
	{
		initialize();
	}
};

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