์ด๋ํฐ ํจํด(Adapter Pattern)
์ด๋ํฐ ํจํด์ ํธํ๋์ง ์๋ ์ธํฐํ์ด์ค๋ฅผ ๊ฐ์ง ํด๋์ค๋ฅผ ํด๋ผ์ด์ธํธ์์ ์ฌ์ฉํ ์ ์๊ฒ ๋ง๋๋ ํจํด์ผ๋ก, ์ค์ ๋ก ๋ง์ ๊ฒฝ์ฐ์์ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. 1. ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๋, ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ ๊ณตํ๋ ์ธํฐํ์ด์ค๊ฐ ํด๋ผ์ด์ธํธ์์ ์ฌ์ฉํด์ผ ํ๋ ์ธํฐํ์ด์ค์ ๋ค๋ฅผ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ, ์ด๋ํฐ ํจํด์ ์ฌ์ฉํ์ฌ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํด๋ผ์ด์ธํธ์์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๊ฒ ํฉ๋๋ค. // ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ธํฐํ์ด์ค class ExternalLib { func doSomethingComplicated() { // ... } } // ํด๋ผ์ด์ธํธ๊ฐ ์ฌ์ฉํ ์ธํฐํ์ด์ค protocol MyLib { func doSomethingSimple() } // ์ด๋ํฐ..