private ์์ฑ์(2)
-
[์ดํํฐ๋ธ ์๋ฐ] Item4. ์ธ์คํด์คํ๋ฅผ ๋ง์ผ๋ ค๊ฑฐ๋ private ์์ฑ์๋ฅผ ์ฌ์ฉํ๋ผ.
item04. ์ธ์คํด์คํ๋ฅผ ๋ง์ผ๋ ค๊ฑฐ๋ private ์์ฑ์๋ฅผ ์ฌ์ฉํ๋ผ. ์ธ์คํด์คํ๋ฅผ ๋ง์์ผ ํ๋ ์ฑ๊ฒฉ์ ํด๋์ค๋ค์ด ์กด์ฌํ๋๋ฐ ๊ทธ ์ค ๋ํ์ ์ธ? ๊ฒ์ด ์ ์ ๋ฉ์๋๋ง์ ๋ด์ ์ ํธ๋ฆฌํฐ ํด๋์ค๋ ์ธ์คํด์ค๋ก ๋ง๋ค์ด ์ฐ๋ ค๊ณ ์ค๊ณํ ํด๋์ค๊ฐ ์๋๋ค. ์ธ์คํด์คํ ๋ง๋ ๋ฐฉ๋ฒ 1) ์ถ์ ํด๋์ค๋ก ๋ง๋ค๊ธฐ public abstract class UtilityClass { public static String hello() { return "hello"; } } ์ด๋ฐ์์ผ๋ก ์ถ์ํด๋์ค๋ก ์ ์ธํด์ ์ธ์คํด์คํ ํ๋ ๊ฒ์ ๋ง์ ์๋ ์์ง๋ง.. ์ด๋ ์๋ธํด๋์ค๋ก ํด๋น ํด๋์ค๋ฅผ ์์๋ฐ์ผ๋ฉด ์ธ์คํด์คํ๋ฅผ ํ ์ ์๊ธฐ ๋๋ฌธ์ ์๋ฒฝํ ๋ง์ ์๋ ์๋ค. 2) private ์์ฑ์ ์ถ๊ฐ ์ฑ ์์๋ 1) ๋ฐฉ๋ฒ๋ณด๋ค๋ 2) ๋ฐฉ๋ฒ์ ๋ ๊ถ์ฅํ๊ณ ์๋ค. ์๋..
2023.01.11 -
[์ดํํฐ๋ธ ์๋ฐ] Item3. private ์์ฑ์๋ ์ด๊ฑฐ ํ์ ์ผ๋ก ์ฑ๊ธํค์์ ๋ณด์ฆํ๋ผ. (private ์์ฑ์ + public static final ํ๋ )
์์ดํ 3. private ์์ฑ์๋ ์ด๊ฑฐ ํ์ ์ผ๋ก ์ฑ๊ธํค์์ ๋ณด์ฆํ๋ผ. ์ฑ๊ธํค singleton ์ด๋? : ์ธ์คํด์ค๋ฅผ ์ค์ง ํ๋๋ง ์์ฑํ ์ ์๋ ํด๋์ค๋ฅผ ์๋ฏธํ๋ค. ์ฑ๊ธํค์ ์๋ก๋ ์ค๊ณ์ ์ ์ผํด์ผ ํ๋ ์์คํ ์ปดํฌ๋ํธ๋ฅผ ๋ค ์ ์๋ค. ๊ฒ์์์ ์ธ์ดํฉ ๊ฐ์ ๊ฒ์ด ์๋ค. (๋ณดํต ์ธ์ด๋ฅผ '์์ด'๋ก ํ๋ค ํ๋ฉด ์ด๋ค ์ค์ ์์๋ ํ๊ตญ์ด์ด๊ณ , ์ด๋ค ์ค์ ์์๋ ์ผ๋ณธ์ด์ด๊ณ ํ๋ฉด ์๋๋๊น ํ๋์ ์ธ์ด๋ก ์ ์งํ๋ค.) ๊ทธ๋ฐ๋ฐ ์ฑ๊ธํค์ผ๋ก ํด๋์ค๋ฅผ ๋ง๋ค๋ฉด ์ด๋ฅผ ์ฌ์ฉํ๋ ํด๋ผ์ด์ธํธ๋ฅผ ํ ์คํธํ๊ธฐ๊ฐ ์ด๋ ค์์ง ์ ์๋ค. ์ฑ๊ธํค ํด๋์ค ์ค์์๋ ์ธํฐํ์ด์ค๋ฅผ ์ ์ํ ๋ค์ ์ด ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํด์ ๋ง๋ ํด๋์ค๊ฐ ์๋๋ผ๋ฉด ์ฑ๊ธํค ์ธ์คํด์ค๋ฅผ ๊ฐ์ง mock ๊ตฌํ์ผ๋ก ๋์ฒดํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค... ์ฑ๊ธํค singleton ๋ง๋๋ ๋ฐฉ๋ฒ 1 : pri..
2023.01.09