Last updated
Last updated
์ถ์์ ๊ตฌํ์ผ๋ก๋ถํฐ ๋ถ๋ฆฌ
ํ์ฌ ๋
๋ฆฝ์ ์ผ๋ก ๋ณํ๊ฒ ํ๋ ํจํด
์ถ์ ํด๋์ค Abstraction
๊ณผ ๊ตฌํ ์ธํฐํ์ด์ค Implementor
๋ ํฌํจ ๊ด๊ณ๋ฅผ ๊ฐ๋๋ฐ, ์ด ๊ด๊ณ๋ฅผ bridge๋ผ๊ณ ํ๋ค.
๋ธ๋ฆฌ์ง ํจํด์ ์ฃผ๋ก ๊ตฌํ ๋จ์์ ๋ณํ๊ฐ ์ฆ์ ๋ ์ฌ์ฉํ๋ค.
์ผ์ชฝ์๋ abstract class์ operation์ด ์ ์๋๋ค.
์ค๋ฅธ์ชฝ์๋ implement๋๋ ์ฌ๋ฌ ๋ฒ์ ์ด ํ๋์ interface๋ก ๋ฌถ์ฌ ์๋ค.
๋ธ๋ฆฌ์ง ํจํด์ ๋ค์๊ณผ ๊ฐ์ด ์ด๋ํฐ ํจํด๊ณผ ํจ๊ป ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
์์ ๊ฐ์ด ์ค๊ณํ๋ฉด ์ถ์ ๊ณ์ธต์์๋ ๊ตฌํ ๊ณ์ธต์ ์ธ์คํด์ค draw๋ฅผ ํตํด draw ๋ฉ์๋๋ฅผ ํธ์ถํ๊ธฐ๋ง ํ๋ฏ๋ก, draw๊ฐ ๋ด๋ถ์ ์ผ๋ก ์ด๋ค ๋ณํ๊ฐ ์ผ์ด๋๋ draw ๋ฉ์๋์ ๋ช ์นญ์๋ง ๋ณํจ์ด ์๋ค๋ฉด ๋ณํ๋ฅผ ์ ๊ฒฝ์ฐ์ง ์์๋ ๋๋ค.