ํด๋ž˜์Šค

 

๋‚ด๋ถ€ ํด๋ž˜์Šค

 

์ž‘์€ ์ „์šฉ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํด๋ž˜์Šค ์‚ฌ์šฉ์— ๋Œ€ํ•œ ๋น„์šฉ์„ ์ง€๋ถˆํ•˜์ง€ ์•Š๊ณ  ํด๋ž˜์Šค์˜ ์žฅ์ ์„ ์ทจํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋‚ด๋ถ€ ํด๋ž˜์Šค๋Š” ๋‚ด๋ถ€ ํด๋ž˜์Šค๋ฅผ ๊ฐ์‹ผ ํด๋ž˜์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์•”๋ฌต์ ์œผ๋กœ ์ „๋‹ฌ๋ฐ›๋Š”๋‹ค.

๋ช…์‹œ์ ์œผ๋กœ ํด๋ž˜์Šค ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ •ํ•˜์ง€ ์•Š์œผ๋ฉด์„œ๋„ ๊ฐ์‹ผ ํด๋ž˜์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

public class Enclose {
	private String field;
    
    public class Inner {
    	public String example() {
        	return field;
        }
     }

}

๋งŒ์•ฝ ์™ธ๋ถ€ ํด๋ž˜์Šค์™€ ์™„์ „ํžˆ ๋ถ„๋ฆฌ๋œ ๋‚ด๋ถ€ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด, ๋‚ด๋ถ€ ํด๋ž˜์Šค๋ฅผ ์ •์ ์œผ๋กœ ์„ ์–ธํ•˜๋ฉด ๋œ๋‹ค.

 

์ธ์Šคํ„ด์Šค๋ณ„ ํ–‰์œ„

 

๊ฐ์ฒด์˜ ๋กœ์ง์ด ํด๋ž˜์Šค์— ์˜ํ•ด ์™„์ „ํžˆ ์ •์˜๋  ๋•Œ, ์ฝ”๋“œ ๋…์ž๋Š” ์–ด๋–ค ์ผ์ด ๋ฒŒ์–ด์ง€๋Š”์ง€ ์ดํ•ดํ•œ๋‹ค.

ํ•˜์ง€๋งŒ ์ธ์Šคํ„ด์Šค ๋ณ„๋กœ ๋กœ์ง์ด ๋‹ค๋ฅด๋‹ค๋ฉด ์ฝ”๋“œ๋ฅผ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์—†๋‹ค.

 

ํšจ๊ณผ์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•ด ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ํ›„์—๋Š” ์ธ์Šคํ„ด์Šค ๋ณ„ ํ–‰๋™์„ ๋ณ€ํ™”์‹œํ‚ค์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

 

์กฐ๊ฑด๋ฌธ

 

์กฐ๊ฑด๋ฌผ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ธ์Šคํ„ด์Šค ๋ณ„ ํ–‰๋™์„ ์ง€์›ํ•˜๋ฉด์„œ๋„ ๋ชจ๋“  ๋กœ์ง์„ ํ•˜๋‚˜์˜ ํด๋ž˜์Šค ์•ˆ์— ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค.

ํžˆ์ž๋ฏผ ํ”„๋กœ๊ทธ๋žจ ์ˆ˜ํ–‰ ๊ฒฝ๋กœ๊ฐ€ ๋งŽ์œผ๋ฉด ๋งŽ์„ ์ˆ˜๋ก ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ธธ ํ™•๋ฅ ์ด ๋†’์•„์ง„๋‹ค.

 

์•„๋ž˜์™€ ๊ฐ™์€ ์Šค์œ„์น˜ ๋ฌธ์„ ์ƒ๊ฐํ•ด๋ณด์ž

public boolean contains(Point p) {
	switch (getType()) {
    	case A :
        // ...
        case B :
        // ...
    }
}

์—ฌ๊ธฐ์„œ case C ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด , ์Šค์œ„์น˜๋ฌธ์— ์ƒˆ๋กœ์šด ์ ˆ์„ ์‚ฝ์ž…ํ•˜๊ณ  ํด๋ž˜์Šค ๋˜ํ•œ ์ˆ˜์ •ํ•ด์•ผ ํ• ์ˆ˜๋„ ์žˆ๋‹ค.

 

๋”ฐ๋ผ์„œ ํ•˜์œ„ ํด๋ž˜์Šค๋‚˜ ์œ„์ž„ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด์„œ ์กฐ๊ฑด๋ฌธ์„ ๋ฉ”์„ธ์ง€๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์œ„์ž„

์œ„์ž„์„ ํ†ตํ•ด์„œ ๊ฐ ์ธ์Šคํ„ด์Šค์•ณ์„œ ๋‹ค๋ฅธ ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋กœ์ง์€ ์œ„์ž„ ํด๋ž˜์Šค๋ฅผ ์ฐธ์กฐํ•˜๋Š” ํด๋ž˜์Šค์— ๋“ค์–ด์žˆ์ง€๋งŒ , ๋ณ€ํ˜•์€ ์—ฌ๋Ÿฌ ๊ฐ์ฒด์— ๊ฐ๊ฐ ๊ตฌํ˜„๋œ๋‹ค.

 

public void mouseDown() {
	getTool().mouseDown();
}

 

ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ ํƒ์ž

 

ํ•œ๋‘๊ฐœ์˜ ๋ฉ”์†Œ๋“œ์—์„œ๋งŒ ์ธ์Šคํ„ด์Šค๋ณ„ ํ–‰๋™์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋ฆฌํ”Œ๋ ‰์…˜์„ ํ†ตํ•ด ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ๋„ ์ข‹๋‹ค

String name;
public void runTest() throws Exception {
	Class[] noArgument = new class[0];
    Method method = getClass().getMethod(name,noArguments);
    method.invoke(this,new Object[0]);
}

 

์ต๋ช… ๋‚ด๋ถ€ ํด๋ž˜์Šค

 

์ต๋ช… ๋‚ด๋ถ€ ํด๋ž˜์Šค๋Š” ํ•œ๊ณณ์—์„œ๋งŒ ์‚ฌ์šฉ๋˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•ด์„œ ์˜ค๋ฒ„๋ผ์ด๋“œ ํ•œ ํ›„์— ์ง€์—ญ์ ์œผ๋กœ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋•Œ ํด๋ž˜์Šค ์ด๋ฆ„์€ ์ง€์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

ํšจ์œจ์ ์ธ ์‚ฌ์šฉ์„ ์œ„ํ•ด API๊ฐ€ ๋งค์šฐ ๊ฐ„๋‹จํ•˜๊ฑฐ๋‚˜ ์ƒ์œ„ ํด๋ž˜์Šค๊ฐ€ ๋Œ€๋ถ€๋ถ„์˜ ๊ตฌํ˜„์„ ๋‹ด๋‹นํ•ด์„œ ๋‚ด๋ถ€ ํด๋ž˜์Šค๋ฅผ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•œ๋‹ค.

 

์ต๋ช… ๋‚ด๋ถ€ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์ธ์Šคํ„ด์Šค์—์„œ ์‚ฌ์šฉํ•  ์ฝ”๋“œ๋ฅผ ์•Œ์•„์•ผํ•œ๋‹ค.

๋˜ํ•œ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์–ด๋ ค์›Œ์„œ ๋ณต์žกํ•œ ๋กœ์ง์— ์ ์ ˆ์น˜์•Š๋‹ค.

ํด๋ž˜์Šค

ํด๋ž˜์Šค๋Š” ๋น„์Šทํ•œ ์„ฑ์งˆ์„ ๊ฐ€์ง„ ๊ฒƒ์„ ์ด์นญํ•˜๋ฉฐ, ๊ฐ์ฒด๋Š” ํด๋ž˜์Šค๊ฐ€ ๊ตฌ์ฒดํ™”๋œ ๊ฒƒ์ด๋‹ค.

 

ํด๋ž˜์Šค

 

ํด๋ž˜์Šค์˜ ๋กœ์ง๊ณผ ๋ฐ์ดํ„ฐ๋Š” ํ•จ๊ผ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋กœ์ง์€ ๋ฐ์ดํ„ฐ์— ๋น„ํ•ด ๋ณ€ํ™”์œจ์ด ๋‚ฎ๋‹ค. ํด๋ž˜์Šค ๋‚ด๋ถ€์˜ ๋ฐ์ดํ„ฐ๋Š” 
๊ด€๋ จ ๋กœ์ง์— ์˜ํ•ด ๋ณ€ํ™”ํ•˜๋ฉฐ, ํด๋ž˜์Šค ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ณ€ํ™”์œจ์€ ๋น„์Šทํ•˜๋‹ค.

๋Œ€์ฒด๋กœ ์ด ์„ ์–ธ์„ ๋‚ดํฌํ•˜๊ธฐ๋Š” ํ•˜์ง€๋งŒ ์ ˆ๋Œ€์ ์ด์ง€๋Š” ์•Š๋‹ค.

 

๋”ฐ๋ผ์„œ ํšจ๊ณผ์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•ด์„œ ๋กœ์ง์„ ํด๋ž˜์Šค ๋‹จ์œ„๋กœ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑํ•ด์•ผ ํ•˜๋‚œ์ง€, ๋กœ์ง ์‚ฌ์ด์˜ ์ฐจ์ด์ ์„ ์–ด๋–ป๊ฒŒ ํšจ๊ณผ์ ์œผ๋กœ 

ํ‘œํ˜„ํ•ด์•ผํ•˜๋Š”์ง€ ๋ฐฐ์›Œ์•ผ ํ•œ๋‹ค.

 

ํด๋ž˜์Šค ๊ณ„์ธต์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•˜์œ„ ํด๋ž˜์Šค๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ์ƒ์œ„ ํด๋ž˜์Šค ๋˜ํ•œ ๋ชจ๋‘ ์ดํ•ดํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ฝ๊ธฐ ์–ด๋ ค์›Œ์ง„๋‹ค.

๋ชจ๋“  ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›๊ธฐ ๋ณด๋‹จ ์„ ๋ณ„์ ์œผ๋กœ ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•˜์ž

 

ํด๋ž˜์Šค๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์„ค๊ณ„ ์š”์†Œ ์ค‘ ๊ฐ’์ด ๋น„์‹ผ ํŽธ์ด๋ฏ€๋กœ, ์˜๋ฏธ ์žˆ๋Š” ์ž‘์—…์—๋งŒ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.

๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ํฌ๊ธฐ๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ํด๋ž˜์Šค์˜ ์ˆ˜๋ฅผ ์ค„์ด๋Š” ๊ฒƒ์ด ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ์„ ํ•œ ๊ฒƒ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

๋‹จ์ˆœํ•œ ์ƒ์œ„ ํด๋ž˜์Šค ์ด๋ฆ„

 

์ ํ•ฉํ•œ ํด๋ž˜์Šค ์ด๋ฆ„์€ ์ฝ”๋“œ๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๊ณ  ํ–ฅ์ƒ ์‹œ์ผœ์ค€๋‹ค.

์ค‘์š”ํ•œ ํด๋ž˜์Šค ์ด๋ฆ„์— ๋Œ€ํ•ด์„œ๋Š” ํ•œ ๋‹จ์–ด๋กœ ๋œ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๊ณ  , ๋ฉ”ํƒ€ํฌ(์€์œ )๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹๋‹ค !

 

ํ•œ์ •์  ํ•˜์œ„ํด๋ž˜์Šค ์ด๋ฆ„

 

ํ•˜์œ„ํด๋ž˜์Šค ์ด๋ฆ„์€ ์ƒ์œ„ ํด๋ž˜์Šค์™€ ๋‹ฌ๋ฆฌ ๊ฐ„๊ฒฐ์„ฑ์€ ํฌ๊ธฐํ•˜๋”๋ผ๋„ ํ‘œํ˜„์„ฑ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

ํ•˜์ง€๋งŒ ๊ทธ ํ•˜์œ„ํด๋ž˜์Šค๊ฐ€ ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ์ƒ์œ„ ํด๋ž˜์Šค๋ผ๋ฉด ๋‹ค์‹œ ๋‹จ์ˆœ์„ฑ์„ ์„ ํƒํ•ด์•ผํ•œ๋‹ค.

 

๋‹ค๋ฅธ ๊ฒฝ์šฐ๋Š” ๋‹ค๋‹จ๊ณ„ ํด๋ž˜์Šค ๊ณ„์ธต์ด๋‹ค. 

๊ธฐ๊ณ„์ ์œผ๋กœ ๋ฐ”๋กœ ์œ„์˜ ์ƒ์œ„ ํด๋ž˜์Šค ์ด๋ฆ„์— ์ˆ˜์‹์–ด๋ฅผ ๋ถ™์ด๊ธฐ ๋ณด๋‹จ , ๊ฐ€์žฅ ์œ ์‚ฌํ•œ ์ƒ์œ„ ํด๋ž˜์Šค์˜ ์ด๋ฆ„์„ ๋ฐ”ํƒ•์œผ๋กœ

์ง“๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

 

ํšจ๊ณผ์ ์ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์„ ์œ„ํ•ด ์ข‹์€ ํด๋ž˜์Šค ์ด๋ฆ„์ด ํ•„์š”ํ•˜๋‹ค.

์ด๋ฆ„์— ์—ฐ๊ด€์„ฑ์ด ์—†๋Š” ํด๋ž˜์Šค๋Š” ์ดํ•ดํ•˜๊ธฐ๋„ ๊ธฐ์–ตํ•˜๊ธฐ๋„ ์–ด๋ ต๋‹ค.

ํด๋ž˜์Šค ์ด๋ฆ„์€ ์ฝ”๋“œ์˜ ๋‚ด์šฉ์„ ๋ฐ˜์˜ํ•ด์•ผํ•œ๋‹ค.

 

์ถ”์ƒ ์ธํ„ฐํŽ˜์ด์Šค

 

์„ค๊ณ„์ƒ์˜ ๊ฒฐ์ •์„ ํ•„์š” ์ด์ƒ์œผ๋กœ ๋…ธ์ถœํ•˜์ง€ ์•Š์•„์•ผํ•œ๋‹ค.

 

์ธํ„ฐํŽ˜์ด์Šค๋ž€ ๊ตฌํ˜„์ด ๋น ์ง„ ์—ฌ๋Ÿฌ ์—ฐ์‚ฐ์˜ ์ง‘ํ•ฉ์„ ์˜๋ฏธํ•œ๋‹ค.

ํ•˜์ง€๋งŒ ์ธํ„ฐํŽ˜์ด์Šค ์ถ”๊ฐ€์—๋Š” ๋น„์šฉ์ด ๋ฐœ์ƒํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ์œ ์—ฐ์„ฑ์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ์ถ”๊ฐ€ ์„ค๊ณ„์— ๋Œ€ํ•œ ๋น„์šฉ์„ ์ง€๋ถˆํ•ด์•ผํ•œ๋‹ค.

์‹ค์ œ๋กœ ์œ ์—ฐ์„ฑ์ด ํ•„์š”ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋„ ๋งค์šฐ ๋งŽ๋‹ค.

 

์ €๋ฒˆ ์žฅ์—๋„ ๋งํ–ˆ๋“ฏ์ด ๋ถˆํ™•์‹คํ•œ ๋ฏธ๋ž˜๋ฅผ ์˜ˆ์ธกํ•˜๊ธฐ ๋ณด๋‹จ ๋‹น์žฅ์˜ ์ด์ต์„ ์ทจํ•˜์ž

์ถ”ํ›„ ํ•„์š”ํ•ด์ง€๋Š” ๊ฒฝ์šฐ์—๋งŒ ์‹œ์Šคํ…œ์— ์œ ์—ฐ์„ฑ์„ ๋ถ€์—ฌํ•˜๋Š” ํŽธ์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค.

 

์ธํ„ฐํŽ˜์ด์Šค

 

์ž๋ฐ” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ "์—ฌ๊ธฐ๊นŒ์ง€๊ฐ€ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ์ด๊ณ  , ์ด์™ธ์˜ ๋‚ด์šฉ์€ ์ƒ๊ด€ํ•˜์ง€ ์•Š๋Š”๋‹ค."

๋ผ๋Š” ๋‚ด์šฉ์„ ๋‚ดํฌํ•œ๋‹ค.

์ธํ„ฐํŽ˜์ด์Šค๋Š” ํ•„๋“œ๋ฅผ ๋ฐฐ์ œํ•˜๊ณ  ์—ฐ์‚ฐ๋งŒ์„ ๋‚˜ํƒ€๋‚ด๋ฏ€๋กœ ์‚ฌ์šฉ์ž๋Š” ๊ตฌํ˜„์ด ๋ณ€๊ฒฝ๋˜๋”๋ผ๋„ ์‹ ๊ฒฝ ์“ธ ํ•„์š”๊ฐ€ ์—†๋‹ค.

 

๋ฐ˜๋Œ€๋กœ ๊ตฌํ˜„์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ์€ ์‰ฝ์ง€๋งŒ ์ธํ„ฐํŽ˜์ด์Šค ์ž์ฒด๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์€ ์‰ฝ์ง€ ์•Š๋‹ค.

๋ณ€๊ฒฝ ์‹œ์— ๋ชจ๋“  ๊ตฌํ˜„ ํด๋ž˜์Šค๋ฅผ ์ˆ˜์ •ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

๋ฒ„์ „ ์ธํ„ฐํŽ˜์ด์Šค

 

๋งŒ์•ฝ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ฐ”๊พธ๊ณ  ์‹ถ์€๋ฐ ์„ค๊ณ„๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์ด ๋ถ€๋‹ด์Šค๋Ÿฌ์šด ๊ฒฝ์šฐ, ๋ฒ„์ „ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ธฐ์กด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†ํ—ค์„œ ์ƒˆ๋กœ์šด ์—ฐ์‚ฐ์„ ์ถ”๊ฐ€ํ•˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž๋Š” ๊ธฐ์กด ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•ด ์•Œ ํ•„์š”๊ฐ€ ์—†๋‹ค.

 

ํ•˜์ง€๋งŒ ๋ฒ„์ „ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๊ทธ๋ฆฌ ์ข‹์€ ๋ฐฉ๋ฒ•์ด ์•„๋‹ˆ๋‹ค.

๋ฒ„์ „ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋Š˜์–ด๋‚  ์ˆ˜๋ก ๊ฒฐ๊ตญ ๊ด€๋ฆฌํ•ด์•ผํ•  ๋กœ์ง,ํด๋ž˜์Šค๊ฐ€ ๋งŽ์•„์ง€๋ฏ€๋กœ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•  ์ผ์ด ๋Š˜์–ด๋‚œ๋‹ค.

์ด๋Š” ์„ค๊ณ„ ์ž์ฒด๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ๊ฐ€ ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

์ถ”์ƒ ํด๋ž˜์Šค

 

์ถ”์ƒ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ ์ถ”์ƒ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์ธํ„ฐํŽ˜์ด์Šค์™€ ๋น„๊ตํ–ˆ์„ ๋•Œ ์žฅ๋‹จ์ ์ด ์žˆ๋‹ค.

 

๋จผ์ € ์ˆ˜์ •์˜ ๊ด€์ ์—์„œ ๋ณด๋ฉด ์ถ”์ƒ ํด๋ž˜์Šค๋Š” ์ˆ˜์ •์— ์šฉ์ดํ•˜๋‹ค.

๊ธฐ์กด ์„ค๊ณ„๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ์–ผ๋งˆ๋“ ์ง€ ์ƒˆ๋กœ์šด ์—ฐ์‚ฐ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

ํ•˜์ง€๋งŒ ์ถ”์ƒ ํด๋ž˜์Šค๋Š” ๋‹จ 1๊ฐœ์˜ ์ƒ์œ„ ํด๋ž˜์Šค๋งŒ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๊ณผ ๋Œ€์กฐ๋œ๋‹ค.

 

์ž๋ฐ” ํด๋ž˜์Šค์—์„œ abstract ํ‚ค์›Œ๋“œ๋ฅผ ์”€์œผ๋กœ์จ, ํ•ด๋‹น ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”

๋ฐ˜๋“œ์‹œ ๊ตฌํ˜„์ด ํ•„์š”ํ•˜๋‹ค๋Š” ์‚ฌ์‹ค์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

๊ฐ’ ๊ฐ์ฒด

 

ํ•จ์ˆ˜ํ˜•(๊ฐ’) ์Šคํƒ€์ผ ์—ฐ์‚ฐ์€ ์ƒํƒœ๋ฅผ ๋ณ€ํ™”์‹œํ‚ค์ง€ ์•Š์œผ๋ฉฐ ์ƒˆ๋กœ์šด ๊ฐ’์„ ์ƒ์„ฑํ•œ๋‹ค.

๊ณ ์ •์ ์ธ ์ƒํ™ฉ์„ ํ‘œํ˜„ํ•˜๊ณ  ํ•จ์ˆ˜ํ˜• ์Šคํƒ€์ผ์ด ์ ์ ˆํ•˜๊ณ  , ์ƒํ™ฉ์ด ๋ณ€ํ•˜๋Š” ๊ฒฝ์šฐ๋ผ๋ฉด ์ƒํƒœ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํŽธ์ด ๋‚ซ๋‹ค.

 

๊ฐ’ ์Šคํƒ€์ผ ๊ฐ์ฒด์˜ ๋ฌธ์ œ์ ์€ ์„ฑ๋Šฅ์ด๋‹ค.  (ํ•˜์ง€๋งŒ ๋งค์šฐ ๋ฏธ๋น„ํ•˜๋‹ค)

๋‹ค๋ฅธ ๋ฌธ์ œ๋Š” ๊ฐ’ ์Šคํƒ€์ผ๊ณผ ์ƒํƒœ๋กœ ๋ถ€๋ถ„์„ ๊ตฌ๋ณ„ํ•˜๊ธฐ ์‰ฝ์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

๋”ฐ๋ผ์„œ ๋‘ ์Šคํƒ€์ผ์„ ์ ์ ˆํžˆ ์„ž์–ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

 

ํŠนํ™”

 

์—ฐ์‚ฐ ๊ฐ„์˜ ์œ ์‚ฌ์ ๊ณผ ์ฐจ์ด์ ์„ ๋ถ€๊ฐ์‹œํ‚ค๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด , ํ”„๋กœ๊ทธ๋žจ์„ ์ฝ๊ณ  ์ˆ˜์ •ํ•˜๊ธฐ ์‰ฌ์›Œ์ง„๋‹ค.

์ด๋Ÿฐ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ช…ํ™•ํžˆ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ณ  ์ƒˆ๋กœ์šด ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์„ ์ง€๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

๋˜ํ•œ ์ˆ˜์ •์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๊ธฐ์กด ์ฝ”๋“œ๋ฅผ ๋ณ€ํ˜•ํ• ์ง€ ์ƒˆ๋กœ ๋งŒ๋“ค์ง€๋ฅผ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๋‘ ๊ฐ€์ง€์˜ ๊ทน๋‹จ์  ๋ณ€ํ˜• ์‚ฌ์ด์— ์กด์žฌํ•œ๋‹ค.

ํ˜„์‹ค์—์„œ๋Š” ์•ฝ๊ฐ„ ๋ณ€ํ˜•๋œ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ์šฉํ•˜๊ฑฐ๋‚˜ ์•ฝ๊ฐ„ ๋ณ€ํ˜•๋œ ๋กœ์ง์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

 

ํ•˜์œ„ ํด๋ž˜์Šค

 

์ œ๋Œ€๋กœ ๋œ ์ƒ์œ„ํด๋ž˜์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด ํ•˜์œ„ ํด๋ž˜์Šค๋Š” ๊ฐ•๋ ฅํ•œ ํž˜์„ ๋ฐœํœ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

ํ•˜์ง€๋งŒ ํ•˜์œ„ ํด๋ž˜์Šค์˜ ์‚ฌ์šฉ์€ ์—ฌ๋Ÿฌ ๋ฌธ์ œ๋ฅผ ์•ผ๊ธฐํ•œ๋‹ค.

1. ํ•˜์œ„ ํด๋ž˜์Šค์˜ ์‚ฌ์šฉ์„ ๋˜๋Œ๋ฆฌ๊ธฐ ์–ด๋ ต๋‹ค.

2. ํ•˜์œ„ํด๋ž˜์Šค๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ์ƒ์œ„ ํด๋ž˜์Šค๊นŒ์ง€ ์ดํ•ดํ•ด์•ผํ•œ๋‹ค. 

3. ์ƒ์œ„ ํด๋ž˜์Šค์˜ ์ˆ˜์ •์ด ์กฐ์‹ฌ์Šค๋Ÿฌ์›Œ์ง„๋‹ค.

 

์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ์„ ์ž˜ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด ํ•˜์œ„ ํด๋ž˜์Šค๋Š” ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.

์ƒ์œ„ ํด๋ž˜์Šค์˜ ๋กœ์ง์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฉ”์†Œ๋“œ๋กœ ์ž˜๊ฒŒ ์ชผ๊ฐœ๋ฉด ๊ฐ ๋ฉ”์†Œ๋“œ๋ฅผ ๋”ฐ๋กœ ์˜ค๋ฒ„๋ผ์ด๋“œ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

ํ•˜์œ„ ํด๋ž˜์Šค๋Š” ๋™์ ์œผ๋กœ ๋ณ€ํ™”ํ•˜๋Š” ๋กœ์ง์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์—†๋‹ค.

๋”ฐ๋ผ์„œ ์ด ๊ฒฝ์šฐ๋„ค๋Š” ์กฐ๊ฑด๋ฌธ์ด๋‚˜ ์œ„์ž„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค. 

 

๊ตฌํ˜„์ž

 

๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ๋‹คํ˜•์  ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•ด ์„ ํƒ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋•๋ถ„์— ์—ฐ์‚ฐ์˜ ๋‚ด๋ถ€ ๊ตฌํ˜„์— ๋Œ€ํ•ด์„œ๋Š” ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

 

๋‹คํ˜•์  ๋ฉ”์„ธ์ง€๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ณ€๊ฒฝ์„ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ”„๋กœ๊ทธ๋žจ์ด ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์— ์ผ๋ จ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ๊ฒฝ์šฐ, ์ถ”์ƒ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ˜ธ์ถœ ์ฝ”๋“œ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ 

๊ตฌํ˜„์„ ์ž์œ ๋กญ๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค.

 

์ด๋Š” ํšจ๊ณผ์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ์˜๋„์™€ ๊ตฌํ˜„์„ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๋˜ํ•œ ์ƒ์ƒํ•˜์ง€ ๋ชปํ–ˆ๋˜ ๋ฏธ๋ž˜์˜ ํ™•์žฅ์„ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ด๋ก 

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ด๋ก ์€ ์ƒˆ๋กœ์šด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ด๋„ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.

 

์‹ค์ œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋Š” ๋™๋ ฅ์ด ์กด์žฌํ•œ๋‹ค.

 

1. ๊ฐ€์น˜

- ๊ฐ€์น˜๋Š” ๋ชจ๋“  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์ ์šฉ๋œ๋‹ค. 

- ์ปค๋ฎค๋‹ˆํ…Œ์ด์…˜ , ์œ ์—ฐ์„ฑ ๋“ฑ ๋ชจ๋“  ์˜์‚ฌ ๊ฒฐ์ •์— ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค.

 

2. ์›์น™

- ์ง์ ‘ ์ ์šฉํ•˜๊ธฐ ์–ด๋ ค์šด ๊ฐ€์น˜์™€ , ์ง€์—ฝ ์ ์ธ ํŒจํ„ด ์‚ฌ์ด์— ๊ฐ€๊ต ์—ญํ• ์„ ํ•œ๋‹ค.

- ํŒจํ„ด ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด์•ผ ํ•  ๋•Œ ์›์น™์„ ๋”ฐ๋ฅธ๋‹ค. 

 

ํŒจํ„ด์€ ์ง€๊ธˆ ๋‹น์žฅ ๋ฌด์—‡์„ ํ•ด์•ผํ• ์ง€๋ฅผ ์•Œ๋ ค์ฃผ๊ณ , ๊ฐ€์น˜๋Š” ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๋™๊ธฐ๋ฅผ ์•Œ๋ ค์ฃผ๋ฉฐ, ์›์น™์€ ๋™๊ธฐ๋ฅผ ํ–‰๋™์œผ๋กœ ์–ด๋–ป๊ฒŒ ๋ฐ”๊ฟ€์ง€๋ฅผ ์•Œ๋ ค์ค€๋‹ค.

 

๊ฐ€์น˜

์„ธ๊ฐ€์ง€ ๊ฐ€์น˜๋Š” ์„œ๋กœ ์ถฉ๋Œํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์ง€๋งŒ ์ƒํ˜ธ ๋ณด์™„์ ์ธ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

 

์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜

๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ดค์„ ๋•Œ์˜ ๊ด€์ ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ผ

์ฝ”๋“œ๋ฅผ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ณ , ์ˆ˜์ •ํ•˜๊ณ , ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•œ๋‹ค

์ด๋ ‡๊ฒŒ ์ž‘์„ฑํ•˜๋ฉด ์ถ”ํ›„ ์ฝ”๋“œ ์ˆ˜์ • ์‹œ์— ๋‚ด๊ฐ€ ์“ด ์ฝ”๋“œ๋ฅผ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๊ฐœ๋ฐœ ๋น„์šฉ์ด ๊ฐ์†Œํ•œ๋‹ค.

๋˜ํ•œ ํƒ€์ธ์˜ ์‹œ์„ ์—์„œ ์ƒ๊ฐํ•˜๋‹ค๋ณด๋ฉด ๋” ๋งŽ์€ ์ƒ๊ฐ์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฝ”๋“œ์˜ ์งˆ์ด ์ข‹์•„์ง„๋‹ค.

 

๋‹จ์ˆœ์„ฑ

๋ถˆํ•„์š”ํ•œ ๋ณต์žก๋„๋Š” ์†Œํ”„ํŠธ์›จ์–ด์˜ ์ˆ˜์ •์„ ์–ด๋ ต๊ฒŒ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฐ€์น˜๊ฐ€ ๋–จ์–ด์ง„๋‹ค.

์ฝ”๋“œ์—์„œ ๋ถˆํ•„์š”ํ•œ ๋ถ€๋ถ„์„ ์ œ๊ฑฐํ•˜๋ผ. 

๊ณผ๋„ํ•œ ์š”์†Œ์™€ ์˜๋ฏธ์—†๋Š” ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์˜ ๋‹จ์ˆœ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.

 

์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜๊ณผ ๋‹จ์ˆœ์„ฑ์€ ํ˜‘์—… ๊ด€๊ณ„์— ์žˆ๋‹ค.

์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์˜ ์‹ ๊ฒฝ์„ ์“ธ์ˆ˜๋ก ์–ด๋–ค ๋ถ€๋ถ„์ด ๊ณผ๋„ํ•˜๊ฒŒ ๋ณต์žกํ•œ ์ง€ ์•Œ๊ธฐ ์‰ฌ์šฐ๋ฉฐ, ๋‹จ์ˆœํ• ์ˆ˜๋ก ์‹œ์Šคํ…œ์„ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค.

 

์œ ์—ฐ์„ฑ

์œ ์—ฐ์„ฑ์„ ์œ„ํ•ด์„œ ๋ณต์žกํ•œ ์„ค๊ณ„๋ฅผ ์ •๋‹นํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ๋ณต์žก๋„๊ฐ€ ์•„๋ฌด๋Ÿฐ ์ด๋“์„ ๊ฐ€์ ธ์˜ค์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋‹จ์ˆœ์„ฑ์„ ์„ ํƒํ•ด์•ผํ•œ๋‹ค.

 

์„ค๊ณ„ ์ดˆ๊ธฐ ์œ ์—ฐ์„ฑ์ด ํ•„์š”ํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋„, ์ดํ›„ ํ•„์š”ํ•œ ์ƒํ™ฉ์ด ์˜ค์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๊ธฐ ์„ค๊ณ„ ๋น„์šฉ์„ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ๊ฒƒ๋ณด๋‹ค ๋‹น์žฅ์˜ ์ด๋“์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

 

์ถ”์ธก์— ์˜๊ฑฐํ•ด ์„ค๊ณ„์— ์œ ์—ฐ์„ฑ์„ ๋ถ€์—ฌํ•˜๊ธฐ ๋ณด๋‹จ ๋‹จ์ˆœ์„ฑ์„ ์œ ์—ฐํ•˜๊ฒŒ ์ ์šฉํ•œํ›„ ํ…Œ์ŠคํŠธ๋ฅผ ์ฒ ์ €ํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ํšจ๊ณผ์ ์ด๋‹ค.

 

๋‹จ์ˆœ์„ฑ์€ ์œ ์—ฐ์„ฑ์„ ์ด‰์ง„์‹œํ‚จ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์˜ต์…˜์„ ์ œ๊ฑฐํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์˜ ์ˆ˜์ •์€ ๋”์šฑ ๊ฐ„๋‹จํ•ด์ง„๋‹ค.

์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์„ ์ค‘์‹œํ•˜๋ฉด ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์›Œ์ง€๋ฏ€๋กœ ์ˆ˜์ •์ด ์‰ฌ์›Œ์ง„๋‹ค. ์ด๋กœ์จ ์œ ์—ฐ์„ฑ์ด ์ฆ๋Œ€๋œ๋‹ค.

 

์›์น™ 

๊ฐ ํŒจํ„ด์€ ๊ฐ€์น˜ ์ค‘ ํ•˜๋‚˜ ์ด์ƒ์„ ๋‚ดํ‘œํ•˜๊ณ  ์žˆ๋‹ค.

์›์น™์€ ์ผ๋ฐ˜์ ์ธ ์ƒ๊ฐ์„ ๋‹ด๊ณ  ์žˆ์œผ๋ฉฐ, ํŒจํ„ด์˜ ๊ทผ๊ฐ„์„ ์ด๋ฃฌ๋‹ค.

 

์›์น™์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด ์ƒˆ๋กœ์šด ํŒจํ„ด๋“ค์„ ๋งŒ๋“ค์–ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

๋˜ํ•œ ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋Š” ๊ทผ๋ณธ์ ์ธ ์ด์œ ๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

 

์ง€์—ญ์  ๋ณ€ํ™”

์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ ํ•จ๊ป˜ ๋ฐ”๊ฟ”์•ผํ•˜๋Š” ๋ถ€๋ถ„์„ ์ตœ์†Œํ™”ํ•˜๋ผ

์ง€์—ญ์  ๋ณ€ํ™”๋งŒ์„ ์ผ์œผํ‚ค๋Š” ์ฝ”๋“œ๋Š” ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ด ์‰ฝ๋‹ค.

 

์ตœ์†Œ ์ค‘๋ณต

์ค‘๋ณต๋œ ์ฝ”๋“œ๊ฐ€ ๋งŽ์„ ์ˆ˜๋ก ์ฝ”๋“œ์˜ ์ˆ˜์ •์ด ์–ด๋ ค์›Œ์ง„๋‹ค.

์–ด๋–ค ๊ฐœ๋…์„ ์ˆ˜์ •ํ–ˆ์„ ๋•Œ ํด๋ž˜์Šค๋ฅผ 2๊ฐœ ์ด์ƒ ์ˆ˜์ •ํ•ด์•ผํ•œ๋‹ค๋ฉด, ์ด๋Š” ์ง€์—ญ์  ๋ณ€ํ™”์˜ ์›์น™์„ ์œ„๋ฐฐํ•œ๋‹ค.

 

ํ•˜์ง€๋งŒ ์ฝ”๋“œ์˜ ์ค‘๋ณต์€ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋ถˆ๊ฐ€ํ”ผํ•  ์ˆ˜ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ ˆ๋Œ€์ ์œผ๋กœ ํ”ผํ•˜๊ธฐ ๋ณด๋‹จ ์œ„ํ—˜ ์š”์†Œ๋กœ ๋ณด๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

 

๋กœ์ง๊ณผ ๋ฐ์ดํ„ฐ์˜ ๊ฒฐํ•ฉ

๋ฐ์ดํ„ฐ์™€ ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋กœ์ง์„ ๊ฐ™์€ ๋ฉ”์†Œ๋“œ , ๊ฐ™์€ ๊ฐ์ฒด , ๊ฐ™์€ ํŒจํ‚ค์ง€ ๋‚ด์— ๋ฐฐ์น˜ํ•˜๋ผ

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์„ ์ˆ˜์ •ํ•˜๋”๋ผ๋„ ๊ทธ ์˜ํ–ฅ์ด ์ผ์ • ์˜์—ญ์— ๋จธ๋ฌผ๊ฒŒ ๋œ๋‹ค.

 

๋Œ€์นญ์„ฑ

๋Œ€์นญ์„ฑ์— ๋”ฐ๋ผ ์•„์ด๋””์–ด๋ฅผ ์ผ๊ด€๋œ ๋ฐฉ์‹์œผ๋กœ ํ‘œํ˜„ํ•˜์ž

๋ฉ”์†Œ๋“œ๋ฅผ ํ•˜๋‚˜์˜ ๊ตฌํ˜„์œผ๋กœ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

void process() {
	input();
    	tally(); // ์ผ์น˜์‹œํ‚ค๋‹ค
   	output();
}

 

์„ ์–ธ์  ํ‘œํ˜„

์ˆ˜ํ–‰ ์ˆœ์„œ๊ฐ€ ์ค‘์š”ํ•œ ๊ตฌ๋ฌธ์ด๋‚˜ ์กฐ๊ฑด๋ถ€ ๊ตฌ๋ฌธ์ด ์—†๋Š” ๊ฒฝ์šฐ, ์„ ์–ธ์  ํ‘œํ˜„์„ ํ†ตํ•ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

(์•„๋งˆ ์–ด๋…ธํ…Œ์ด์…˜์ธ ๋“ฏ)

 

@RunWith(Suite.class)
@TestClasses({
	SimpleTest.class,
    ComplicatedTest.class
}
)
class AllTests {
}

์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ๋‚ด๋ถ€๋ฅผ ๋ณผ ํ•„์š”์—†์ด ์ฝ๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋ณ€ํ™”์œจ

๋กœ์ง๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ํ•จ๊ป˜ ๊ด€๋ฆฌํ•˜๊ณ  ๋ณ€ํ™”์œจ์ด ๋‹ค๋ฅธ ๋กœ์ง๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฆฌํ•˜๋ผ

๋ณ€ํ™”์œจ์€ ์‹œ๊ฐ„์  ๋Œ€์นญ์„ฑ์— ํ•ด๋‹นํ•œ๋‹ค.

 

ํ•˜๋‚˜์˜ ๊ฐ์ฒด์— ์žˆ๋Š” ๋ชจ๋“  ํ•„๋“œ๋Š” ๊ฐ€๊ธ‰์  ํ•จ๊ป˜ ๋ณ€ํ•ด์•ผํ•œ๋‹ค.

ํŠน์ • ๋ฉ”์†Œ๋“œ๊ฐ€ ์ˆ˜ํ–‰๋  ๋•Œ๋งŒ ์‚ฌ์šฉ๋˜๋Š” ํ•„๋“œ๋Š” ๊ทธ ๋ฉ”์†Œ๋“œ์˜ ์ง€์—ญ ๋ณ€์ˆ˜๋กœ ์„ ์–ธ๋˜์–ด์•ผํ•œ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด ํ•จ๊ป˜ ๋ณ€ํ™”ํ•˜๋Š” ๋‘ ๊ฐœ์˜ ํ•„๋“œ(value, currency)๊ฐ€ ์žˆ๋‹ค๋ฉด ํ•˜๋‚˜์˜ ๋„์šฐ๋ฏธ ๊ฐ์ฒด(Money)์— ๋„ฃ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

setAmount(Money value) {
	this.money = money;
}

 

 

+ Recent posts