๊ท์น7 : ์ ํจ๊ธฐ๊ฐ์ด ์ง๋ ๊ฐ์ฒด ์ฐธ์กฐ๋ ํ๊ธฐํ๋ผ
๊ท์น7 : ์ ํจ๊ธฐ๊ฐ์ด ์ง๋ ๊ฐ์ฒด ์ฐธ์กฐ๋ ํ๊ธฐํ๋ผ ๊ด๋ จ
Eliminate obsolete object references
์คํ์ด ์ปค์ก๋ค๊ฐ ์ค์ด๋ค๋ฉด์ ์ ๊ฑฐํ ๊ฐ์ฒด๋ค์ GC๊ฐ ์ฒ๋ฆฌํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ฒจ์ ๊ฐ์ด size
๋ณด๋ค ์์ ๊ณณ์ ์๋ ์์๋ค์ ์ค์ ๋ก ์ฐ์ด๋ ์ฐธ์กฐ๋ค์ด์ง๋ง, ๋๋จธ์ง ์์ญ์ ์๋ ์ฐธ์กฐ๋ค์ ๊ทธ๋ ์ง ์๋ค. ๋ฌธ์ ๋ ๋จ์์๋ ๊ฐ์ฒด๋ฅผ ํตํด ์ฐธ์กฐ๋๋ ๋ค๋ฅธ ๊ฐ์ฒด๋ค๋ ์ฐ๋ ๊ธฐ ์์ง์์ ์ ์ธ๋๋ค.
์ด๋ฐ ๋ฌธ์ ๋ ๊ฐ๋จํ ๊ณ ์น ์ ์๋ค. ์ธ ์ผ ์๋ ๊ฐ์ฒด ์ฐธ์กฐ๋ ๋ฌด์กฐ๊ฑด null
๋ก ๋ง๋๋ ๊ฒ์ด๋ค.
public Object pop() {
if(size ==0)
throw new EmptyStackException();
Object result = elements[--size];
elements[size] = null //๋ง๊ธฐ ์ฐธ์กฐ ์ ๊ฑฐ
return result;
}
๋ง๊ธฐ ์ฐธ์กฐ๋ฅผ ์ ๊ฑฐํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ํด๋น ์ฐธ์กฐ๊ฐ ๋ณด๊ด๋ ๋ณ์๊ฐ ์ ํจ๋ฒ์๋ฅผ ๋ฒ์๋๊ฒ ๋๋ ๊ฒ์ด๋ค.
์บ์๋ ๋ฉ๋ชจ๋ฆฌ ๋์๊ฐ ํํ ๋ฐ์ํ๋ ์ฅ์๋ค. ๋ฉ๋ชจ๋ฆฌ ๋์๊ฐ ํํ ๋ฐ๊ฒฌ๋๋ ๋ ํ๊ณณ์ ๋ฆฌ์ค๋ ๋ฑ์ ์ญํธ์ถ์(callback)๋ค.