728x90 ์ธ์คํด์ค3 [JAVA] Singleton Pattern ๐ข Singleton Pattern ์ฑ๊ธํด ํจํด: ๊ฐ์ฒด๋ฅผ ํ๋๋ง ์์ฑ ํ๋๋ก ํ๋ฉฐ, ์์ฑ๋ ํ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๊ฐ์ง๊ณ ์ด๋์์๋ ์ง ์ฐธ์กฐํ ์ ์๋๋ก ํ๋ ํจํด์ด๋ค. ๊ฐ์ฒด ์์ฑ์ ํด๋์ค์์์ ์ํํ๋ฉฐ ์ธ๋ถ์๋ ์์ฑ๋ ๊ฐ์ฒด๋ฅผ ๋ฐํํด์ฃผ๊ธฐ๋ง ํ๋ฉด ๋๋ค. ๋ฐ๋ผ์ ์์ฑ์๋ private๋ก ์ ์ธํด์ผํ๋ค. public class DuckManager { private static DuckManager manager = new DuckManager(); private Duck[] ducks = new Duck[20]; private DuckManager() { makeDucks(); } public static DuckManager getDuckManager() { return manager; } } ๐จ ์ฌ์ฉ๋ฒ packag.. 2023. 12. 18. [JAVA] ํ ๋ณํ ๐ ๊ธฐ๋ณธํ์ ํ ๋ณํ boolean์ ์ ์ธํ ๊ธฐ๋ณธํ ๋ณ์์ ํ์ ์ ์์ ๋กญ๊ฒ ํ ๋ณํํด ์ฌ์ฉํ ์ ์๋ค. ๐ ์ฐธ์กฐํ์ ํ ๋ณํ ์๋ก ๋ค๋ฅธ ํด๋์ค๊ฐ ํธํ์ด ๊ฐ๋ฅํ๊ฐ? Student student = new Member(); // ??? ๊ฐ๋ฅํ๊ฐ? student.sname; // X ์ฌ์ฉ ๋ถ๊ฐ ์์น์ ์ผ๋ก (์์ธ์์) ์ฐธ์กฐํ๋ผ๋ฆฌ์ ํ ๋ณํ ์๋๋ค. ๊ตฌ์ฑ์์๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง ์์ ๊ด๊ณ์ ํด๋์ค(์ฐธ์กฐํ) ๊ฐ์ ํ ๋ณํ์ ์ง์ํ๋ค. ์ํผํด๋์ค์ ๊ตฌ์ฑ์์๋ฅผ ๋ชจ๋ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ์ ์บ์คํ ์ ํํด์ ํ๋ณํ์ด ๊ฐ๋ฅํ๋ค. ๋ณ๋์ ๋ช ๋ น์ด ์์ด ์๋ฌต์ (์๋)์ผ๋ก ์ง์์ด ๋๋ค. Duck dk = (Duck) new RedDuck(); ์ ์บ์คํ ์ด ๋ฐ์ํ๋ฉด, ์๋ธํด๋์ค์์ ํ์ฅํ ๋ณ์, ๋ฉ์๋ ๋ฑ์ ์ฌ์ฉํ ์ ์๋ค. ํ.. 2023. 12. 16. [JAVA] ํด๋์ค์ ๋ฉ๋ชจ๋ฆฌ ๐ ํด๋์ค์ ์ธ์คํด์ค ๋ฉ๋ชจ๋ฆฌ ๊ด๊ณ Stack: ์ธ์คํด์ค ๋ณ์์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ ํ ๋น Heap: ์ธ์คํด์ค ๋ณ์์ ์ค์ ๋ณ์ ๊ฐ๊ณผ ํจ์์ ์ฃผ์ ๊ฐ Code: ํด๋์ค ์ด ์ฝ๋, Heap์์ ์ด๊ณณ์ ํจ์์ฝ๋๋ฅผ ํธ์ถํด์ ์ฌ์ฉํ๋ค. ๋๋ณด๊ธฐ โจ ์ฐธ์กฐํ(์ฃผ์) Class๋ฅผ ์๋ฏธ(ํ๋๋ฐ์ ์์)ํ๋ค. ์ฌ์ฉ์ ์ ์, ์ฆ ์ฌ์ฉ์ type = style, ๋ฐ๋ผ์ Heap์ ์ ์ฅ๋๊ฒ ๋๋ค. โจ ์์คํ ์ ๊ด์ ์์ ํด๋์ค๋ ๊ฐ์ ํด๋์ค๋ก๋ถํฐ ์์ฑ์ํจ ์ธ์คํด์ค ๊ฐ์ ์ฝ๋์ ์ฌ์ฌ์ฉ์ ๋์ด๊ธฐ ์ํด ์์ฑ๋ ์ ์ธ๋ฌธ์ด๋ค. ๐ ๋ฉ๋ชจ๋ฆฌ 1) Stack ์คํ ์ง์ญ๋ณ์, ๋งค๊ฐ๋ณ์ ๋ธ๋ก(์ค์ฝํ) ๋ฒ์ด๋๋ฉด ์๋ฉธ, Heap๋ณด๋ค ๋น ๋ฅด๋ค. 2) Heap ํ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ง์ ๊ด๋ฆฌ(ํ ๋น/ํด์ )ํ ์ ์๋ค. ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น(new/ํฌ์ธํฐ), ์๋ฐ์์๋ ์ญ์ ๋ฅผ ์.. 2023. 12. 13. ์ด์ 1 ๋ค์ 728x90