"์•ˆ๋…•, ์•„๋ฏธ๊ณ ! Rishi๊ฐ€ ๋„ˆ์—๊ฒŒ ์ƒˆ๋กญ๊ณ  ํฅ๋ฏธ๋กœ์šด ๊ฒƒ์„ ์„ค๋ช…ํ–ˆ๋‹ค๊ณ  ๋“ค์—ˆ์–ด?!"

"๋งž์•„, ๊น€."

"๋‚ด ์ฃผ์ œ๋Š” ๊ทธ๋‹ค์ง€ ํฅ๋ฏธ๋กญ์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํด๋ž˜์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๋˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค."

Java์˜ ํด๋ž˜์Šค๋Š” ์ปดํŒŒ์ผ๋œ Java ์ฝ”๋“œ์ธ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•˜๋Š” ๋””์Šคํฌ์˜ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.

"๋„ค ๊ธฐ์–ตํ•ฉ๋‹ˆ๋‹ค."

Java ๋จธ์‹ ์€ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉด ๋กœ๋“œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ ์–ด๋”˜๊ฐ€์— ํด๋ž˜์Šค์— ๋Œ€ํ•œ ํ˜ธ์ถœ์ด ์žˆ๋Š” ์ฆ‰์‹œ Java ๋จธ์‹ ์€ ํด๋ž˜์Šค๊ฐ€ ๋กœ๋“œ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋กœ๋“œํ•˜๊ณ  ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.

ํด๋ž˜์Šค ์ดˆ๊ธฐํ™”์—๋Š” ๋ชจ๋“  ์ •์  ๋ณ€์ˆ˜์— ๊ฐ’์„ ํ• ๋‹นํ•˜๊ณ  ๋ชจ๋“  ์ •์  ์ดˆ๊ธฐํ™” ๋ธ”๋ก์„ ํ˜ธ์ถœํ•˜๋Š” ์ž‘์—…์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

"๊ฐ์ฒด์—์„œ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ๊ณผ ๋น„์Šทํ•ด ๋ณด์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ •์  ์ดˆ๊ธฐํ™” ๋ธ”๋ก์ด ๋ฌด์—‡์ธ๊ฐ€์š”?"

"๊ฐ์ฒด๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋ณต์žกํ•œ ์ฝ”๋“œ(์˜ˆ: ํŒŒ์ผ์—์„œ ๋ฌด์–ธ๊ฐ€ ๋กœ๋“œ)๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์ƒ์„ฑ์ž์—์„œ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ •์  ๋ณ€์ˆ˜์—๋Š” ์ด๋Ÿฌํ•œ ๊ธฐํšŒ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ํ•„์š”์„ฑ์ด ๋‚จ์•„ ์žˆ์œผ๋ฏ€๋กœ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ž˜์Šค์— ์ •์  ์ดˆ๊ธฐํ™” ๋ธ”๋ก ๋˜๋Š” ๋ธ”๋ก์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ •์  ์ƒ์„ฑ์ž์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค."

๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์•”ํ˜ธ ์‹ค์ œ๋กœ ์ผ์–ด๋‚˜๋Š” ์ผ
class Cat
{
public static int catCount = 0 ;
public static String namePrefix;

static
{
Properties p = new Properties();
p.loadFromFile("cat.properties");
namePrefix = p.get("name-prefix");
}

public static int maxCatCount = 50;

static
{
Properties p = new Properties();
p.loadFromFile("max.properties");
if (p.get("cat-max") != null)
maxCatCount = p.getInt("cat-max");
}

}
class Cat
{
public static int catCount;
public static String namePrefix;
public static int maxCatCount;

//Static constructors aren't allowed in Java,
//but if they were, everything
//would look like this
public static Cat()
{
catCount = 0;

Properties p = new Properties();
p.loadFromFile("cat.properties");
namePrefix = p.get("name-prefix");

maxCatCount = 50;

Properties p2 = new Properties();
p2.loadFromFile("max.properties");
if (p2.get("cat-max")!=null)
maxCatCount = p2.getInt("cat-max");
}
}

์ด๋Š” ์ƒ์„ฑ์ž๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์‹ฌ์ง€์–ด (์กด์žฌํ•˜์ง€ ์•Š๋Š”) ์ •์  ์ƒ์„ฑ์ž๋กœ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

"์˜ˆ, ์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค."

"๋งค์šฐ ์ข‹์€."