์ œ๊ฐ€ ์ง€์‹ ๊ณต๋ถ€๋ฅผ ์œ„ํ•ด์„œ ์ฐพ์€ ๊ฒƒ๋“ค ์ค‘ ์‹ฑ๊ธ€ํ†ค์˜ ๋‚จ์šฉ์„ ์ง€์–‘ํ•ด์•ผํ•˜๋Š” ์ด์œ ์— ๋Œ€ํ•ด์„œ์ž…๋‹ˆ๋‹ค.

์‹ฑ๊ธ€ํ†ค์˜ ๋‹ค์–‘ํ•œ ๋‹จ์  ์ค‘ ์ œ๊ฐ€ ์ดํ•ด ๊ฐ€๋Šฅํ•œ ๊ฒƒ๋“ค์€ SOLID์›์น™์ธ OCP, DIP์— ์œ„๋ฐฐ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

OCP์˜ ๊ฒฝ์šฐ,ย 
1. ์‹ฑ๊ธ€ํ†ค์ด ํ•˜๋‚˜์˜ ์ธ์Šคํ„ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋ฉด์„œ ๋‹ค์–‘ํ•œ ํด๋ž˜์Šค์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์—
๊ฒฐํ•ฉ๋„๊ฐ€ ๋†’์•„์ ธ ์‹ฑ๊ธ€ํ†ค ๊ฐ์ฒด์—์„œ ์ˆ˜์ • ์‹œ ์ฐธ์กฐ ์ค‘์ธ ๋‹ค๋ฅธ ํด๋ž˜์Šค์—์„œ๋„ ์ˆ˜์ •์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
2. ํ™•์žฅ์—๋Š” ๊ฐœ๋ฐฉ(Open)๋˜๊ณ , ์ˆ˜์ •์—๋Š” ํ์‡ (Close)์ธ ๋งŒํผ ์‹ฑ๊ธ€ํ†ค ๊ฐ์ฒด๋Š” ์ž๊ธฐ ์ž์‹ ์„ ์ˆ˜์ •ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— OCP์— ์œ„๋ฐฐ๋œ๋‹ค

DIP์˜ ๊ฒฝ์šฐ
1. DIP๋Š” ์ž์ฃผ ์ˆ˜์ •๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ๊ตฌ์ฒด ํด๋ž˜์Šค ๋Œ€์‹  ์ถ”์ƒํด๋ž˜์Šค๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์˜์กดํ•˜๋Š” ์›์น™์ธ๋ฐ
์‹ฑ๊ธ€ํ†ค์˜ ๊ฒฝ์šฐ ๊ตฌ์ฒด ํด๋ž˜์Šค์ธ ์ž๊ธฐ์ž์‹ ์„ ํด๋ž˜์Šค ๋‚ด๋ถ€์—์„œ new๋ฅผ ํ†ตํ•ด ๋™์ ํ• ๋‹นํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— DIP์— ์œ„๋ฐฐ๋œ๋‹ค.

DIP์˜ ๊ฒฝ์šฐ๋Š” ์ œ๊ฐ€ ์ •๋ฆฌํ•œ๊ฒŒ ๋งž๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.
OCP์˜ ๊ฒฝ์šฐ๋Š” ๋‘˜ ์ค‘ ์–ด๋А๊ฒŒ ๋งž๋Š”์ง€, ๋งž๋Š”๊ฒŒ ์žˆ๊ธด ํ•œ๊ฑด์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค ใ… 
๊ณ ์ˆ˜๋ถ„๋“ค์˜ ์˜๊ฒฌ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค!