๐ฏ ์์ดํ 53. ๊ฐ๋ณ์ธ์๋ ์ ์คํ ์ฌ์ฉํ๋ผ.
์ธ์ ๊ฐ์๊ฐ ์ผ์ ํ์ง ์์ ๋ฉ์๋๋ฅผ ์ ์ํด์ผ ํ๋ค๋ฉด ๊ฐ๋ณ์ธ์๊ฐ ๋ฐ๋์ ํ์ํ๋ค. ๋ฉ์๋๋ฅผ ์ ์ํ ๋ ํ์ ๋งค๊ฐ๋ณ์๋ ๊ฐ๋ณ์ธ์ ์์ ๋๊ณ , ๊ฐ๋ณ์ธ์๋ฅผ ์ฌ์ฉํ ๋๋ ์ฑ๋ฅ ๋ฌธ์ ๊น์ง ๊ณ ๋ คํ์.
- ์ธ์๊ฐ 1๊ฐ ์ด์์ด์ด์ผ ํ๋ ๊ฐ๋ณ์ธ์ ๋ฉ์๋ - ์๋ชป ๊ตฌํํ ์!
static int min(int... args) {
if (args.length == 0)
throw new IllegalArgumentException("์ธ์๊ฐ 1๊ฐ ์ด์ ํ์ํฉ๋๋ค.");
int min = args[0];
for (int i = 1; i < args.length; i++)
if (args[i] < min)
min = args[i];
return min;
}
์ด ๋ฐฉ์์๋ ๋ฌธ์ ๊ฐ ๋ช ๊ฐ ์๋ค. ๊ฐ์ฅ ์ฌ๊ฐํ ๋ฌธ์ ๋ ์ธ์๋ฅผ 0๊ฐ๋ง ๋ฃ์ด ํธ์ถํ๋ฉด ๋ฐํ์์ ์คํจํ๋ค๋ ์ ์ด๋ค. ์ฝ๋๋ ์ง์ ๋ถํ๋ค.
- ์ธ์๊ฐ 1๊ฐ ์ด์์ด์ด์ผ ํ ๋ ๊ฐ๋ณ์ธ์๋ฅผ ์ ๋๋ก ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
static int min(int firstArg, int... remainingArgs) {
int min = firstArg;
for (int arg : remainingArgs)
if (arg < min)
min = arg;
return min;
}
์ฒซ ๋ฒ์งธ๋ก๋ ํ๋ฒํ ๋งค๊ฐ๋ณ์๋ฅผ ๋ฐ๊ณ , ๊ฐ๋ณ์ธ์๋ ๋ ๋ฒ์ฌ๋ก ๋ฐ์ผ๋ฉด ์์์ ๋ฌธ์ ๊ฐ ๋ง๋ํ ์ฌ๋ผ์ง๋ค.
์ฐธ๊ณ ์๋ฃ
Joshua Bloch, ใEffective Java 3/Eใ, ๊ฐ์๋งต์ ์ฎ๊น, ํ๋ก๊ทธ๋๋ฐ์ธ์ฌ์ดํธ(2018)
http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788966262281&orderClick=LEa&Kc=