๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ปค๋งจ๋“œ ํŒจํ„ด (1)

JUINTINATION

์ปค๋งจ๋“œ(Command) ํŒจํ„ด

์ปค๋งจ๋“œ ํŒจํ„ด์ด๋ž€? ์‹คํ–‰๋  ๊ธฐ๋Šฅ์„ ์บก์Šํ™”ํ•˜์—ฌ ๊ธฐ๋Šฅ์˜ ์‹คํ–‰์„ ์š”๊ตฌํ•˜๋Š” ํ˜ธ์ถœ์ž ํด๋ž˜์Šค(Invoker)์™€ ์‹ค์ œ ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•˜๋Š” ์ˆ˜์‹ ์ž ํด๋ž˜์Šค(Receiver) ์‚ฌ์ด์˜ ์˜์กด์„ฑ์„ ์ œ๊ฑฐํ•˜์—ฌ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์‹คํ–‰๋  ๊ธฐ๋Šฅ์ด ๋‹ค์–‘ํ•˜๋ฉด์„œ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์‹คํ–‰๋  ๊ธฐ๋Šฅ์˜ ๋ณ€๊ฒฝ์—๋„ ํ˜ธ์ถœ์ž ํด๋ž˜์Šค์˜ ์ˆ˜์ •์—†์ด ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ํŒจํ„ด์ด๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋žจํ”„๋ฅผ ์ผœ๋Š” ๋ฒ„ํŠผ์ด ์žˆ๋‹ค๊ณ  ํ•˜์ž. class Lamp { public void turnOn() { System.out.println("Lamp.turnOn"); } } class Button { private Lamp lamp; public Button(Lamp lamp) { this.lamp = lamp; } public void pressed() { lamp...