์ ์ ๋์ ๋ค์ฃฝ์ด๋ฉด ๋ฌธ์ด ์ด๋ฆฌ๋๋ก ํ๋ ์ฝ๋์ธ๋ฐ
์ฌ๊ธฐ์ for ๋ถ๋ถ์์ ์ดํด๊ฐ ์๋๋๋ถ๋ถ์ด์์ด์ ๋ฌผ์ด๋ณด๋๊ฑด๋ฐ ์ฌ๊ธฐ์ i๊ฐ 0์ผ๋ก ์์ํด์
i
๊ทผ๋ฐ ๊ทธ๋ ๊ฒํ๋ฉด ๋ง์ฝ ์ ์ด 4๋ช ์๋ค๊ณ ํ๋ฉด i๊ฐ์ด 2๊น์ง๊ฐ ์ต๋๊ฐ์ด ๋์์
๊ทผ๋ฐ ๋ด๊ฐ ์ ๋ 4๋ฒ์งธ ์ ๋ฅผ ์ฃฝ์ด๋ฉด enemies[i]๊ฐ์์ i๊ฐ 2๊ฐ ์ต๋๋๊น ๊ทธ 4๋ฒ์งธ์๋ฅผ ์์ ์ง ๋ชปํ๋๊ฑฐ
์๋๊ฐ ํ๋ ์๊ฐ์ด ๋ค์ด์ ์ค๋ช ํ๊ธฐ๊ฐ ์กฐ๊ธ์ด๋ ต๊ธดํ๋ฐ..
์๊ทธ๋ ๊ฒ ์๋๋๊ฑด์ง ์ค๋ช ํด์ค์ฌ๋์๋์??
์ ์ด 4๋ช ์ธ๋ฐ i๊ฐ 2๊ฐ๋๋ค๋๊ฑด ๋น์ต ๋ญ ์๋ฆฌ์
์ ์ด 4๋ช ์ธ๋ฐ i๊ฐ ์ต๋๊ฐ 2๊ฐ ๋๋ค๊ณ ?
์ ์ฃ์กํฉ๋๋ค ์ ๊ฐ ์กฐ๊ธ ํท๊ฐ๋ฆฐ๋ถ๋ถ์ด์๋ค์ ๋ค์๋งํ์๋ฉด i๊ฐ์ด 3๊น์ง ๋๊ฒ ์ฃ ์๋ฌด๋๋ ์นด์ดํธ๊ฐ 4๊น์ง ์ผํ ๋๊น
ใ ใ ๊ทธ๊ฒ๋ง ์๋ฉด ์ดํด ๋ค ๋๊ฑฐ๊ฐ์๋ฐ?
๋ฐฐ์ด์ enemies[0]๋ถํฐ ์ธ์ ๋ค๋ฒ์งธ๊ฐ enemies[3]์ด๋๊น i ๊ฐ 3์ด์ด๋ 4๋ช ์ ์ ์ ์๊ณ ์ด๊ฒ๋ ๋ชจ๋ฅด๋ฉด ๊ฒ์์ ๋ง๋ค ๊น๋ฅ์ด ์๋๊ฑฐ๊ฐ์ผ๋ ์๋ฌด ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ฑ ์ด๋ ํ๋ ์ฌ์ ๋ด
๋ค๋ง ์ ๊ฐ ๊ถ๊ธํ๊ฑด ๊ทธ๋ ๊ฒ i๊ฐ์ด 3์ด๋๋ฉด ๋ง์ฝ ์ ๊ฐ ์ฒซ๋ฒ์งธ ์ ๋์ ์์ด์๋ ์ฌ๊ธฐ์ i๊ฐ 3์ด๋๊น 0๋ฒ์งธ ์ ๋์ด ์์ด์ง ๊ฑฐ๋๊น ์์์ [i]๊ฐ ์ด๋ป๊ฒ ๋๋๊ฑด์ง ๊ถ๊ธํด์์
์ ๊ธฐ ๋ณด๋ฉด if(enemies[i] == null) ์์์ ์ ๋์ ์์ค ๋ค์์ i--;๊ฐ ๋ณด์ด์ง? ์ ๊ฒ ์์ผ๋ฉด 3๋ฒ์งธ ์ ์ ์์ด์ ๋, 4๋ฒ์งธ ์ ์ด enemies[3]์์ enemies[2]๋ก ์ด๋ํ์ํ ๋ฐ i๋ 3์ผ๋ก ๊ฐ๋๊น 4๋ฒ์งธ ์ ์ ์ง๋์น๊ณ ๊ฐ๊ฒ ๋๋๊ฑฐ๋๊น, i--๋ฅผ ํด ์ค์ ์์ ๋ฒ๋ฆฐ ์ ์ด ์๋ ์์น๋ฅผ ๋ค์ ํ๋ฒ ๊ฒํ ํ๋๊ฑฐ์ผ
์ ๋ง ์ฃ์กํ๋ฐ ํน์ ํ๋๋ง ๋๋ฌผ์ด๋ด๋ ๋ ๊น์ ์ ๊ธฐ์ i--๋ฅผ ํด์ค์ ์์ ๋ฒ๋ฆฐ ์์น๋ฅผ ๋ค์ ๊ฒํ ํ๋ค๋๋ฐ ๋ง์ฝ ๊ทธ๋ผ ๋ง์ฝ ๋ด๊ฐ ์ญ์ ํ ์ ์ด๋ i๊ฐ์๋ 2์ด์์ฐจ์ด๋๊ฒ ๋๋ฉด ์ฝ๋๊ฐ ์์๋์๊ฐ์ง๋ ์๋์?
์ ์ฝ๋๋ ๋ฆฌ์คํธ์์ ์ ์ด ์์ ๋๋ง๋ค i--๋ฅผ ํด์ฃผ๋๊ฑฐ๋ผ์ i๊ฐ ์ญ์ ํ ์ ์ด๋ 2์ด์ ์ฐจ์ด๋ ์ผ์ด ์์ด. ๋๊ฐ ์ฐ๋ คํ๋ ๊ฑธ ๋ง์ผ๋ ค๊ณ i--;๋ฅผ ๋ฃ์ด๋์๊ฑฐ์
ใณใณ
๋ฐฐ์ด์ ๋ํ ๋ฐ๋ณต๋ฌธ ์์์ ํด๋น ๋ฐฐ์ด์ ๋ํด ์ถ๊ฐor์ญ์ ๋ฅผ ํ๋ ์ฝ๋๋ ์ผ๋ฐ์ ์ผ๋ก ์ข์ง์์antipattern ์ฝ๋๋ก ์ฌ๊ฒจ์ง๋๋ค. ์ด์ฉ ์ ์๋ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ , ์ด๋ฐ ์ฝ๋๋ ๋ค๋ฅธ ํํ์ ์ฝ๋๋ก ์์ ํด์ผํฉ๋๋ค. ์ฌ์ง์ด๋ ์ ๋์ํ๋ ์ฝ๋๋ผ ํ ์ง๋ผ๋, ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๊ณ ์ ์ฌ์ ์ธ ๋ฒ๊ทธ๊ฐ ๋์ ๋๋ ์ง์ ์ผ๋ก ์๋ผ๋ ์ ์์ผ๋ฏ๋ก ์ง์๋์ด์ผ ํฉ๋๋ค. ๋์์ผ๋ก, ๋ณ๊ฒฝํ๋ ค๋ ๋ฐฐ์ด์ ์ฌ๋ณธ์ ์ฌ์ฉํ๊ฑฐ๋, forEach ๋์ map-filter๋ฅผ ์ฌ์ฉํ์ญ์์ค.
์ ์ด๊ฑธ ์ ๋ฐ์ดํธ๋ฌธ์ผ๋ก ์ธ? ๋ชฌ์คํฐ๊ฐ ์ฃฝ์๋๋ง๋ค ์ ์ซ์๋ฅผ ๋ด๋ฆฌ๊ณ ๋ด๋ฆฌ์๋ง์ 0๋ณด๋ค ์์์ง ํ์ธํ๊ณ ๋ฌธ์ด์ด์ฃผ๋ฉด ๋์์ - dc App
์ ์ฝ๋๊ฐ ๋ชฌ์คํฐ ๋ฐฐ์ด ๊ฐ์ง๊ณ ์์ง? ๊ฒ์ ์์ํ ๋ ์ ๋ชฌ์คํฐ ๋คํํ ์ง๊ธ ์ฝ๋ ํด๋์ค๋ฅผ ๋ณ์๋ก ์ฃผ๋ฉด ๋์ด์ง - dc App
๋ฆฌ์คํธ์์ ๊ทธ๋ฐ์์ผ๋ก ์ญ์ ํ๋ ค๋ฉด for๋ฌธ์ 0๋ถํฐ ํ ๊ฒ ์๋๋ผ ๋ค๋ถํฐ ์์ํ ํ์๊ฐ ์์.