๐ฅ CS/OOP (1) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [Swift] DI(์์กด์ฑ ์ฃผ์ ) in Swift ์์กด์ฑ(Dependency) ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์์ ์์กด์ฑ(Dependency)์ ์๋ก ๋ค๋ฅธ ๊ฐ์ฒด ์ฌ์ด์ ์์กด ๊ด๊ณ๊ฐ ์๋ค๋ ๊ฒ์ ๋งํฉ๋๋ค. ์ฆ, ์์กดํ๋ ๊ฐ์ฒด๊ฐ ์์ ๋๋ฉด, ๋ค๋ฅธ ๊ฐ์ฒด๋ ์ํฅ์ ๋ฐ๋๋ค๋ ๊ฒ์ ๋๋ค. ์์๋ก ์๋์ ์ฝ๋๋ฅผ ๋ด ์๋ค. struct Coffee { func drink() { print("์ปคํผ๋ฅผ ๋ง์ ๋ค") } } struct Programmer { private let coffee = Coffee() func startProgramming() { self.coffee.drink() } } Programmer๊ฐ์ฒด๋ Coffee๊ฐ์ฒด๋ฅผ ์ธ์คํด์ค๋ก ์ฌ์ฉํ๊ณ ์์ผ๋ฏ๋ก, Programmer๊ฐ์ฒด์ startProgramming()์ด ํธ์ถ๋๊ธฐ ์ํด์๋ Coffee ๊ตฌ์กฐ์ฒด๊ฐ ํ์ํฉ๋๋ค. ์ด ๋ P.. ์ด์ 1 ๋ค์