๋กœ์ผ“๐Ÿพ
article thumbnail
[Java] ์Šคํ”„๋ง์„ ์™œ ์‚ฌ์šฉํ• ๊นŒ?(2) - OCP์™€ DIP ํ•ด๊ฒฐ By ์ˆœ์ˆ˜ ์ž๋ฐ”
... 2022. 2. 1. 11:25

์ง€๋‚œ ํฌ์ŠคํŒ…์—์„œ๋Š” OCP์™€ DIP๊ฐ€ ์œ„๋ฐฐ ๋˜๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” ์Šคํ”„๋ง์ด ์•„๋‹Œ ์ˆœ์ˆ˜ ์ž๋ฐ”๋กœ ํ•ด๊ฒฐํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ž ๊น ์ง€๋‚œ ๊ธ€์˜ ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. public class DriverImpl implements Driver{ Car car = new K3(); Engine engine = new Electronic(); @Override public void findOwnCarDetail() { car.findCarName(); car.findCarBrand(); engine.WayToMove(); } } DriverImpl ์—ญํ• ์— ๊ตฌํ˜„์ฒด๊ฐ€ ์ง์ ‘ new ํ‚ค์›Œ๋“œ๋กœ ์„ ์–ธ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿด ๊ฒฝ์šฐ ์–ผํ•๋ณด๋ฉด OCP์™€ DIP๋ฅผ ์ž˜ ์ง€ํ‚จ ๊ฒƒ ๊ฐ™์ง€๋งŒ ์‚ฌ์‹ค ์•„๋‹ˆ๋ผ๊ณ  ์ง€๋‚œ ํฌ์ŠคํŒ…์—์„œ ..

article thumbnail
[Java] ์Šคํ”„๋ง์„ ์™œ ์‚ฌ์šฉํ• ๊นŒ?(1) - OCP์™€ DIP์˜ ์œ„๋ฐฐ
... 2022. 1. 20. 15:20

๋ฐ”๋Š˜๊ณผ ์‹ค์ฒ˜๋Ÿผ ์ž๋ฐ”ํ•˜๋ฉด ๋ฐ”๋กœ ๋– ์˜ค๋ฅด๋Š” ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ "๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด" ๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. "๊ฐ์ฒด ์ง€ํ–ฅ"์ด๋ž€ ๋ ˆ๊ณ ๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ ˆ๊ณ  ๋ธ”๋ก๋“ค์„ ์กฐ๋ฆฝํ•˜์—ฌ ์šฐ๋ฆฌ๋Š” ๋ฌด์—‡์ด๋“  ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ ˆ๊ณ ๋ฅผ ์ด์šฉํ•ด์„œ ๋™๋ฌผ์›์„ ๋งŒ๋“ค์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋™๋ฌผ์›์—๋Š” ๋ ˆ๊ณ ๋กœ ๋งŒ๋“ค์–ด์ง„ ์‚ฌ์ž๋„ ์žˆ๊ณ , ํ˜ธ๋ž‘์ด๋„ ์žˆ๊ณ , ์ฝ”๋ผ๋ฆฌ๋„ ์žˆ๊ณ , ์ œ๊ฐ€ ์ข‹์•„ํ•˜๋Š” ํŒ๋‹ค๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์Šฌํ”„๊ฒŒ๋„ ๋” ์ด์ƒ ํ˜ธ๋ž‘์ด๊ฐ€ ์ธ๊ธฐ๊ฐ€ ์—†์–ด์„œ ๊ณ ๋ฆด๋ผ ๋ ˆ๊ณ ๋กœ ๋ฐ”๊พธ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿด ๊ฒฝ์šฐ ์šฐ๋ฆฌ๋Š” ์‰ฝ๊ฒŒ ๋™๋ฌผ์›์—์„œ ํ˜ธ๋ž‘์ด ๋ ˆ๊ณ ๋ฅผ ๋นผ๊ณ  ๊ณ ๋ฆด๋ผ ๋ ˆ๊ณ ๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ํ˜ธ๋ž‘์ด, ๊ณ ๋ฆด๋ผ๊ฐ€ ๊ฐ์ฒด๊ฐ€ ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ˜ธ๋ž‘์ด๋ฅผ ๋บ€ ๋‹ค๊ณ  ํ•ด์„œ ๊ธฐ์กด์— ์žˆ๋˜ ์‚ฌ์ž๋‚˜ ํŒ๋‹ค ๋ ˆ๊ณ ๋Š” ์ „ํ˜€ ์˜ํ–ฅ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋ผ์ด๊ฑฐ ๋ ˆ๊ณ ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๊ณ , ํ˜ธ๋ž‘์ด์™€ ์‚ฌ์ž๋ฅผ ๋งˆ๊ตฌ์žก..

profile on loading

Loading...