Java ์ธํฐํ์ด์ค ์ฝ๊ฒ ์ดํดํ๊ธฐ!
์ด ์์์ Java ํ๋ก๊ทธ๋๋ฐ์์ ์ค์ํ '์ธํฐํ์ด์ค' ๊ฐ๋
์ ์ฝ๊ณ ์น์ ํ๊ฒ ์ค๋ช
ํด ์ค๋๋ค. ์ธํฐํ์ด์ค๊ฐ ๋ฌด์์ธ์ง, ์ ํ์ํ์ง, ๊ทธ๋ฆฌ๊ณ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง ๋จ๊ณ๋ณ๋ก ์๋ ค์ค์.
๋ชฉ์ฐจ
1.
2.
3.
4.
5.
6.
7.
์ธํฐํ์ด์ค๋? [00:00:03]
์ธํฐํ์ด์ค๋ ์๋ก ๋ค๋ฅธ ๋์๋ค์ดย ์ํธ์์ฉํ ์ ์๋๋ก ์ฐ๊ฒฐํด ์ฃผ๋ ๋งค๊ฐ์ฒด์
๋๋ค. ์ฝ๊ฒ ๋งํด, ๋ ๊ฐ์ง๊ฐ ์ํตํ ์ ์๊ฒ ๋ค๋ฆฌ ์ญํ ์ ํ๋ ๊ฑฐ์์.
์ธํฐํ์ด์ค์ ์ผ์ ์์: ์ฑ๊ณผ ์๋ฃ์ ์ํ๊ธฐ [00:00:31]
โข
์ฐ๋ฆฌ๊ฐ ์ค๋งํธํฐ ์ฑ(์ธ์คํ๊ทธ๋จ, ์นด์นด์คํก ๋ฑ)์ ์ฌ์ฉํ ๋, ํ๋ฉด์ ๋ณด์ด๋ ๋ฒํผ์ด๋ ๋ฆฌ์คํธ๊ฐ ๋ฐ๋ก **์ ์ ์ธํฐํ์ด์ค(UI)**์
๋๋ค.
โข
์ด UI๋ ์ค์ ๊ธฐ๋ฅ(๋ก๊ทธ์ธ, ์ฑํ
๋ฑ)๊ณผ ์ฐ๊ฒฐํด ์ฃผ๋ ๋ค๋ฆฌ ์ญํ ์ ํด์.
โข
์๋ฃ์ ์ํ๊ธฐ๋ฅผ ์๋ก ๋ค๋ฉด, ์ฐ๋ฆฌ๋ ๋ด๋ถ ๋์(๋ ๋ฃ๊ณ ๋ฒํผ ๋๋ฅด๋ฉด ์๋ฃ๊ฐ ๋์ค๋ ๋ก์ง)์ ๋ชฐ๋ผ๋, ๋ฒํผ๋ง ๋๋ฅด๋ฉด ์๋ฃ๊ฐ ๋์ค์ฃ . ์ด ๋ฒํผ๊ณผ ํฌ์
๊ตฌ ๋ฑ์ด ๋ฐ๋กย ์ธํฐํ์ด์ค์
๋๋ค.์ฆ, ์ธํฐํ์ด์ค๋ ๋ณต์กํ ๋ด๋ถ๋ฅผ ๋ชฐ๋ผ๋ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๊ฒ ๋์์ฃผ๋ '์ฌ์ฉ์์ ๊ธฐ๊ณ ์ฌ์ด์ ์ฐฝ๊ตฌ' ๊ฐ์ ์กด์ฌ์
๋๋ค.
์๋ฐ์์ ์ธํฐํ์ด์ค์ ์ญํ ๊ณผ ์ ์ [00:03:08]
โข
์๋ฐ์์ ์ธํฐํ์ด์ค๋ย ํด๋์ค๋ค์ด ๋ฐ๋์ ๊ตฌํํด์ผ ํ ๋์(๋ฉ์๋) ๋ชฉ๋ก์ ์ ์ํ ํ์
์
๋๋ค.
โข
์ธํฐํ์ด์ค๋ ์ค์ ๋์์ ๊ตฌํํ์ง ์๊ณ , ์ด๋ค ๊ธฐ๋ฅ์ด ์์ด์ผ ํ๋์ง๋ง ์๋ ค์ค์.
โข
์๋ฅผ ๋ค์ด, ๋ฆฌ๋ชจ์ฝ์์ '์ ์ ์ผ๊ธฐ' ๋ฒํผ์ ๋๋ฅด๋ฉด ์ค์ ๋นํ๋ก์ ํฐ๊ฐ ์ผ์ง์ง๋ง, ๋ฆฌ๋ชจ์ฝ ์์ฒด์๋ ๊ทธ ๋์์ ์ํํ๋ ์ฝ๋๋ ์์ฃ . ์ด์ฒ๋ผ ์ธํฐํ์ด์ค๋ '๊ธฐ๋ฅ์ ์ค๊ณ๋' ์ญํ ์ ํฉ๋๋ค.
์ธํฐํ์ด์ค ๊ตฌํ ๋ฐฉ๋ฒ๊ณผ ํน์ง [00:04:32]
โข
์ธํฐํ์ด์ค๋ย interfaceย ํค์๋๋ก ์ ์ํ๋ฉฐ, ๋ด๋ถ์๋ย ์์์ ์ถ์ ๋ฉ์๋๋ง ๋ค์ด๊ฐ๋๋ค.
โข
์ถ์ ๋ฉ์๋๋ ๋ชธํต(๊ตฌํ ๋ด์ฉ)์ด ์๋ ๋ฉ์๋๋ก, ์ด ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ํด๋์ค์์ ๋ฐ๋์ ์ค๋ฒ๋ผ์ด๋ฉ(๊ตฌํ)ํด์ผ ํฉ๋๋ค.
โข
ํด๋์ค๋ย implementsย ํค์๋๋ก ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํฉ๋๋ค.
โข
์ธํฐํ์ด์ค ์์ฒด๋ก๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ง ์๊ณ , ๊ตฌํํ ํด๋์ค์ ๊ฐ์ฒด๋ฅผ ํตํด ๊ธฐ๋ฅ์ ์ฌ์ฉํฉ๋๋ค.์๋ฅผ ๋ค์ด, ๋
ธํธ๋ถ ์ธํฐํ์ด์ค๊ฐ ์๋ค๋ฉด, MSI, LG, ์ผ์ฑ ๋
ธํธ๋ถ์ด ๊ฐ๊ฐ ์ด ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํด ์์ ๋ง์ ๊ธฐ๋ฅ์ ๋ง๋ค ์ ์์ต๋๋ค.
์ธํฐํ์ด์ค ํ์ฉ ์์: ๋
ธํธ๋ถ ๊ธฐ๋ฅ ๊ตฌํ [00:05:30]
โข
๋
ธํธ๋ถ ์ธํฐํ์ด์ค์ '๊ฒ์ด๋ฐ', '์ฝ๋ฉ' ๊ฐ์ ๊ธฐ๋ฅ์ด ์ ์๋์ด ์์ต๋๋ค.
โข
๊ฐ ์ ์กฐ์ฌ(MSI, LG, ์ผ์ฑ)๋ ์ด ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํด ์์ ๋ง์ ๊ฒ์ด๋ฐ, ์ฝ๋ฉ ๊ธฐ๋ฅ์ ๋ง๋ญ๋๋ค.
โข
์ด๋ ๊ฒ ํ๋ฉด, ์ธํฐํ์ด์ค ํ์
์ผ๋ก ์ ์ธํด๋ ์ค์ ๊ฐ์ฒด์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ๋์ํ๋ ๊ธฐ๋ฅ์ ํธ์ถํ ์ ์์ด ์ ์ฐํฉ๋๋ค.
์ธํฐํ์ด์ค ๋ฌธ๋ฒ ํต์ฌ: ์์์ ์ถ์ ๋ฉ์๋ [00:06:35]
โข
์ธํฐํ์ด์ค ๋ด ๋ณ์๋ ์๋์ผ๋กย public static final(๋ณํ์ง ์๋ ์์)๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
โข
์ถ์ ๋ฉ์๋๋ย public abstract๊ฐ ์๋์ผ๋ก ๋ถ์ด ์๋ต ๊ฐ๋ฅํด์.
โข
์ฆ, ์ธํฐํ์ด์ค๋ ์์์ ์ถ์ ๋ฉ์๋๋ง ๊ฐ์ง ์ ์๊ณ , ๋ชจ๋ ๊ณต๊ฐ๋์ด ์์ด์ผ ํฉ๋๋ค.
์ค์ต ์์: ๋ฆฌ๋ชจ์ฝ ์ธํฐํ์ด์ค ๋ง๋ค๊ธฐ [00:07:32]
โข
๋ฆฌ๋ชจ์ฝ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค์ด ๋ด
๋๋ค.
โข
์ ์ ์ผ๊ธฐ/๋๊ธฐ, ์๋ ์กฐ์ , ๋ฐฐํฐ๋ฆฌ ์ฒดํฌ ๊ฐ์ ์ถ์ ๋ฉ์๋๋ฅผ ์ ์ํฉ๋๋ค.
โข
์ดํ ์ด ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ํด๋์ค(์: ๋๋ก ์ปจํธ๋กค๋ฌ)์์ ๊ตฌ์ฒด์ ์ธ ๊ธฐ๋ฅ์ ์์ฑํ ์ ์์ต๋๋ค.
๋ง๋ฌด๋ฆฌ ์์ฝ
์ธํฐํ์ด์ค๋ย ์๋ก ๋ค๋ฅธ ๊ฐ์ฒด๋ค์ด ์ฝ์๋ ๊ธฐ๋ฅ์ ํตํด ์ํตํ ์ ์๊ฒ ํ๋ ์ค๊ณ๋์
๋๋ค.
๋ณต์กํ ๋ด๋ถ ๊ตฌํ์ ๋ชฐ๋ผ๋, ์ธํฐํ์ด์ค์ ์ ์๋ ๊ธฐ๋ฅ๋ง ์๋ฉด ์ฝ๊ฒ ์ฌ์ฉํ ์ ์์ฃ .
์๋ฐ์์๋ย interfaceย ํค์๋๋ก ๋ง๋ค๊ณ , ์ถ์ ๋ฉ์๋์ ์์๋ง ํฌํจํ๋ฉฐ, ์ด๋ฅผ ๊ตฌํํ๋ ํด๋์ค๊ฐ ์ค์ ๊ธฐ๋ฅ์ ์์ฑํฉ๋๋ค.
์ผ์ ์ ๋ฆฌ๋ชจ์ฝ, ์๋ฃ์ ์ํ๊ธฐ, ์ฑ UI์ฒ๋ผ ์ธํฐํ์ด์ค๋ ์ฐ๋ฆฌ ์ํ ๊ณณ๊ณณ์ ์จ์ด์๋ต๋๋ค!
์ดํด๊ฐ ์์ ๋๋ ์ธํฐํ์ด์ค ๊ฐ๋
, ์ด์ ์ฌ๋ฌ๋ถ๋ ์์ ์๊ฒ ํ์ฉํด ๋ณด์ธ์! 