1. ๊ฐ์ฒด์ ํด๋์ค
์ค๋์ ์ผ๋ฐ์ ์ธ Java ํ๋ก๊ทธ๋จ์ด ์๋ํ๋ ๋ฐฉ์์ ๋ํด ์กฐ๊ธ ๋ฐฐ์ฐ๊ฒ ๋ ๊ฒ์ ๋๋ค. ์ค์ํ ์์์ด ์์ต๋๋ค. ๋ชจ๋ Java ํ๋ก๊ทธ๋จ์ ํด๋์ค์ ๊ฐ์ฒด๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
ํด๋์ค๊ฐ ๋ฌด์์ธ์ง ์ด๋ฏธ ์๊ณ ์์ง๋ง ๊ฐ์ฒด๊ฐ ๋ฌด์์ ๋๊น?
๋น์ ๋ถํฐ ์์ํ๊ฒ ์ต๋๋ค. ์์ ๋ฐฐ๋ฅผ ๋ง๋ค๊ณ ์ถ๋ค๊ณ ์์ํด๋ณด์ธ์. ๋จผ์ ์ฒญ์ฌ์ง์ ๋ง๋ ๋ค์ ์ฒญ์ฌ์ง์ ๋ฐ๋ผ ์ ๋ฐ์ด ๊ฑด์กฐ๋ ๊ณต์ฅ์ ์ ๊ณตํด์ผ ํฉ๋๋ค. ๋๋ ์๋ง๋ ์์ญ. ๋๋ ์ํ๋ ๋งํผ์ ๋ฐฐ. ์์ญ ์ฒ์ ๋์ผํ ์ ๋ฐ์ด ํ๋์ ์ฒญ์ฌ์ง์ ๋ฐ๋ผ ๊ฑด์กฐ๋ฉ๋๋ค. ๊ทธ๊ฒ์ด ์ฌ๊ธฐ์ ์ค์ํ ๊ฒ์ ๋๋ค.
Java ํ๋ก๊ทธ๋๋ฐ์์๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.
์ฒญ์ฌ์ง
ํ๋ก๊ทธ๋๋จธ๋ ๋์์ด๋์ ๊ฐ์ต๋๋ค. ๋์์ด๋๋ ์ฒญ์ฌ์ง์ ๋ง๋ค๊ณ Java ํ๋ก๊ทธ๋๋จธ๋ ํด๋์ค๋ฅผ ์์ฑํฉ๋๋ค. ๋ถํ์ ์ฒญ์ฌ์ง์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋๊ณ ๊ฐ์ฒด๋ ํด๋์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋ฉ๋๋ค.
๋จผ์ ํด๋์ค๋ฅผ ์์ฑํ๊ณ (์ฒญ์ฌ์ง ๋ง๋ค๊ธฐ) ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ฉด Java ์์คํ ์ด ์ด๋ฌํ ํด๋์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ฒด๋ฅผ ์์ฑํฉ๋๋ค. ์ ๋ฐ์ด ์ค๊ณ๋์์ ์์ฑ๋๋ ๊ฒ๊ณผ ๊ฐ์ ๋ฐฉ์์ ๋๋ค.
์ฒญ์ฌ์ง์ ํ๋๋ฟ์ด์ง๋ง ๋ง์ ๋ฐฐ๊ฐ ์์ ์ ์์ต๋๋ค. ๋ฐฐ๋ ๋๋ ทํฉ๋๋ค. ์ด๋ฆ๋ ๋ค๋ฅด๊ณ ํ๋ฌผ๋ ๋ค๋ฆ ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๋ค์ ๋งค์ฐ ์ ์ฌํฉ๋๋ค. ๋ชจ๋ ๋์ผํ ๋์์ธ์ ๊ณต์ ํ๊ณ ์ ์ฌํ ์์ ์ ์ํํ ์ ์์ต๋๋ค.
์๋๋ฉด ์ฌ๊ธฐ์ ๋ ๋ค๋ฅธ ๋น์ ๊ฐ ์์ต๋๋ค ...
๊ฐ๋ฐ๋
๊ฐ๋ฏธ์ง์ ๋ฌผ์ฒด๊ฐ ์ด๋ป๊ฒ ์ํธ ์์ฉํ๋์ง์ ๋ํ ์ข์ ์์ ๋๋ค. ๋จ์ํ ๊ฐ๋ฏธ์ง์๋ ์ธ ์ข ๋ฅ์ ๊ฐ๋ฏธ๊ฐ ์์ต๋๋ค: ์ฌ์๊ฐ๋ฏธ, ๋ณ์ฌ, ์ผ๊ฐ๋ฏธ.
๊ฐ ํด๋์ค์ ๊ฐ๋ฏธ์ ์๋ ๋ค๋ฆ ๋๋ค. ๊ฐ๋ฏธ์ง ์ ์ฒด์ ์ฌ์๊ฐ๋ฏธ๋ ํ ๋ง๋ฆฌ์ง๋ง ๋ณ์ฌ๋ ์์ญ ๋ช , ์ผ๊ฐ๋ฏธ ์๋ฐฑ ๋ง๋ฆฌ๊ฐ ์๋ค. ์ธ ๊ฐ์ ํด๋์ค์ ์๋ฐฑ ๊ฐ์ ๊ฐ์ฒด. ๊ฐ๋ฏธ๋ ์๊ฒฉํ ๊ท์น์ ๋ฐ๋ผ ๊ฐ์ ๋ฑ๊ธ์ ๊ฐ๋ฏธ ๋ฐ ๋ค๋ฅธ ๋ฑ๊ธ์ ๊ฐ๋ฏธ์ ์ํธ ์์ฉํฉ๋๋ค.
์ด๊ฒ์ ์๋ฒฝํ ์์ ๋๋ค. ์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋จ์์๋ ๋ชจ๋ ๊ฒ์ด ์ ํํ ์ด์ ๊ฐ์ต๋๋ค. ๋ค๋ฅธ ๋ชจ๋ ํด๋์ค์ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๊ธฐ๋ณธ ๊ฐ์ฒด๊ฐ ์์ต๋๋ค. ๊ฐ์ฒด๋ ์๋ก ๊ทธ๋ฆฌ๊ณ ํ๋ก๊ทธ๋จ์ "์ธ๋ถ ์ธ๊ณ"์ ์ํธ ์์ฉํ๊ธฐ ์์ํฉ๋๋ค. ๊ฐ์ฒด์ ๋์์ ๋ด๋ถ์ ์ผ๋ก ํ๋์ฝ๋ฉ๋ฉ๋๋ค.
์ด ๋ ๋น์ ๋ ๋์ ์ ์๋ฉด๊ณผ ๊ฐ์ต๋๋ค. ์ง์ค์ ์ค๊ฐ์ ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ ์(์ฒญ์ฌ์ง ๋ฐ ๋ฐฐ์ก ๊ด๋ จ)๋ ํด๋์ค์ ํด๋น ํด๋์ค์ ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ณด์ฌ์ค๋๋ค. ์ด๊ฒ์ ๊ฐ๋ ฅํ ๋น์ ์ ๋๋ค. ๋ ๋ฒ์งธ ์(๊ฐ๋ฏธ์ง์ ๊ดํ)๋ ์์ฑ๋ ํด๋์ค์ ํ๋ก๊ทธ๋จ์ด ์คํ๋ ๋ ์กด์ฌํ๋ ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ณด์ฌ์ค๋๋ค.
๋จผ์ ํ๋ก๊ทธ๋จ์ ์กด์ฌํ ๋ชจ๋ ๊ฐ์ฒด์ ๋ํ ํด๋์ค๋ฅผ ์์ฑํ ๋ค์ ์ํธ ์์ฉ ๋ฐฉ์์ ์ค๋ช ํด์ผ ํฉ๋๋ค. ์, ๋ง์ต๋๋ค. ํ์ง๋ง ์๊ฐ๋ณด๋ค ์ฝ์ต๋๋ค.
Java์์ ๋ชจ๋ ์ํฐํฐ๋ ๋ฐํ์ ์ ๊ฐ์ฒด์ด๋ฉฐ ํ๋ก๊ทธ๋จ ์์ฑ์ ๊ฐ์ฒด๊ฐ ์ํธ ์์ฉํ๋ ๋ค์ํ ๋ฐฉ์์ ์ค๋ช ํ๋ ๊ฒ์ ๋๋ค. ๊ฐ์ฒด๋ ๋จ์ํ ์๋ก์ ๋ฉ์๋๋ฅผ ํธ์ถํ๊ณ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํฉ๋๋ค.
์ ์ ์๋ฅ ๋น์น
๋ฉ์๋์ ์ ๋ฌํ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ ์ ์์ต๋๊น? ๋น์ ๋ณด๋ค ๋จผ์ ์จ ์ฌ๋๋ค์ ๋ชจ๋ ๊ฒ์ ์๊ฐํ์ต๋๋ค.
๊ฐ ํด๋์ค์๋ ์ผ๋ฐ์ ์ผ๋ก ์์ฑ ๋ชฉ์ ์ ์ค๋ช ํ๋ ์ค๋ช ์ด ์์ต๋๋ค. ๋ํ ๊ฐ ๊ณต์ฉ ๋ฉ์๋์๋ ์ผ๋ฐ์ ์ผ๋ก ์ํํ๋ ์์ ๊ณผ ์ ๋ฌํด์ผ ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ํ๋ด๋ ์ค๋ช ์ด ์์ต๋๋ค.
ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ํด๋์ค๊ฐ ์ํํ๋ ์์ ์ ๋ํ ์ผ๋ฐ์ ์ธ ๊ฐ๋ ์ด ์์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ ๋ฐฉ๋ฒ์ด ๋ฌด์์ ํ๋์ง ์ ํํ ์์์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ์ ํ ์ ํ์๊ฐ ์์ต๋๋ค. ๋ง์ ์งํก์ด์ ๊ฐ์ต๋๋ค.
ํ์ผ์ ๋ณต์ฌํ๋ ์ฝ๋๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
c:\\data.txt ํ์ผ์ c:\\result.txt ํ์ผ๋ก ๋ณต์ฌ |
---|
|
์ด ์ฝ๋๋ฅผ ํ ์ค์ฉ ์ฝ์ผ๋ฉด ์ผ๋ฐ์ ์ธ ์ฉ์ด๋ก ๋ฌด์์ ํ๋์ง ์ง์ํ ์ ์์ต๋๋ค. ๊ทธ๊ฒ์ ๊ฒฝํ๊ณผ ์ฐ์ต์ด ํ์ํ์ง๋ง. ์ ์ ํ ์ด ์ฝ๋๊ฐ ์น์ํ๊ณ ์ดํดํ๊ธฐ ์ฝ๊ฒ ๋ณด์ผ ๊ฒ์ ๋๋ค.
2. ํ๋ก๊ทธ๋จ ์ค๊ณ
ํ๋ก๊ทธ๋จ ๋์์ธ์ ์ ์ฒด ์์ ์ ๋๋ค. ๋์์ ๊ฐ๋จํ๊ณ ์ด๋ ต์ต๋๋ค. ์๊ฒฉํ ๋ฒ๋ฅ ์ด ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋จํฉ๋๋ค. ๊ธ์ง๋์ง ์์ ๊ฒ์ ๋ฌด์์ด๋ ํ์ฉ๋ฉ๋๋ค. ์, ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ๋ํ ๊ทธ๊ฒ์ ์ด๋ ต๊ฒ ๋ง๋๋ ๊ฒ์ ๋๋ค. ์ด๋ค ์ผ์ ํ๋ ๋ฐ๋ ๋ง์ ๋ฐฉ๋ฒ์ด ์๊ณ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ์ฐพ๋ ๊ฒ์ ์ฝ์ง ์์ต๋๋ค.
ํ๋ก๊ทธ๋จ์ ์ค๊ณํ๋ ๊ฒ์ ์ฑ ์ ์ฐ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ํํธ์ผ๋ก๋ ๋ฌธ์, ๋จ์ด ๋ฐ ๋ฌธ์ฅ์ ์๋๋ค. ๋ฐ๋ฉด ์ค๊ฑฐ๋ฆฌ, ๋ฑ์ฅ์ธ๋ฌผ, ๋ด์ ๋ชจ์, ๊ฐ๋ฑ, ์คํ ๋ฆฌํ ๋ง ์คํ์ผ, ์๋ชจ ๋ฑ์ด ์ค์ํ๋ค.
๊ฐ์ฅ ์ค์ํ ๊ฒ์ ๋๊ตฌ๋ฅผ ์ํด ์ฝ๋๋ฅผ ์์ฑํ๋์ง ์ดํดํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋จธ๋ฅผ ์ํด ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค .
์ ํ ๊ฐ๋ฐ์ ํ์ฐ์ ์ผ๋ก ๋ณ๊ฒฝ์ ์๋ฏธํฉ๋๋ค. ์ฆ, ์ฌ๊ธฐ์ ๋ฌด์ธ๊ฐ๊ฐ ์ถ๊ฐ๋๊ณ , ์ ๊ธฐ์ ๋ค๋ฅธ ๊ฒ์ด ์ ๊ฑฐ๋๊ณ , ๋ฌด์ธ๊ฐ๊ฐ ์ฌ์ค๊ณ๋ฉ๋๋ค. ๊ทธ๊ฒ์ด ์์ ๋ฐ๋ณต์์ ํฌ๊ณ ๊ฑฐ๋ํ๊ณ ๊ฑฐ๋ํ ํ๋ก์ ํธ๊ฐ ํ์ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
์ฝ๋์์ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ดํดํ ์ ์์ด์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค. ์ดํดํ ์ ์๋ ์๋ชป๋ ์ฝ๋๋ ์์ ํ ์ ์์ต๋๋ค. ์ ํํ์ง๋ง ์ดํดํ๊ธฐ ์ด๋ ค์ด ์ฝ๋๋ ๊ฐ์ ํ ์ ์์ต๋๋ค. ๋น์ ์ด ํ ์์๋ ์ผ์ ๊ทธ๊ฒ์ ๋ฒ๋ฆฌ๋ ๊ฒ๋ฟ์ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด๋ป๊ฒ ํ๋ฅญํ๊ณ ๊น๋ํ ์ฝ๋๋ฅผ ์์ฑํ ์ ์์๊น์?
์ด๋ ๊ฒ ํ๋ ค๋ฉด ์ธ ๊ฐ์ง๊ฐ ํ์ํฉ๋๋ค.
- ๋ฉ์๋ ๋ด๋ถ์ ํ๋ฅญํ๊ณ ์ดํดํ๊ธฐ ์ฌ์ด ์ฝ๋ ์์ฑ โ ์ด๊ฒ์ด ๊ฐ์ฅ ์ฌ์ด ์๊ตฌ ์ฌํญ์ ๋๋ค.
- ํ๋ก๊ทธ๋จ์ ํฌํจ๋์ด์ผ ํ๋ ์ํฐํฐ ๊ฒฐ์
- ํ๋ก๊ทธ๋จ์ ๋ ผ๋ฆฌ์ ๋ถ๋ถ์ผ๋ก ์ฌ๋ฐ๋ฅด๊ฒ ๋ถํ
์ด๋ฌํ ๊ฐ๋ ๋ค์ ๋ฌด์์ด ์์ต๋๊น?
๋ฉ์๋ ๋ด์์ ์ข์ ์ฝ๋ ์์ฑ
๊ธฐ๋ณธ์ ์ธ ์์ด ์ค๋ ฅ๋ง ์๋ค๋ฉด ๋๋๋ก ์ฝ๋๋ฅผ ์์ด ๋ฌธ์ฅ์ผ๋ก ์ฝ๋ ๊ฒ์ด ์ผ๋ง๋ ์ฌ์ด์ง ์์์ฐจ๋ ธ์ ๊ฒ์ ๋๋ค.
class Cat extends Pet
โ ์ด๊ฒ์ Cat ํด๋์ค๊ฐ Pet ํด๋์ค๋ฅผ ํ์ฅํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.while(stream.ready())
โ ์คํธ๋ฆผ์ด ์ค๋น๋๋ ํ...if (a<b) return a; else return b
โะฐ
๋ณด๋ค ์์ผ๋ฉดb
๋ฐํํ๊ณะฐ
๊ทธ๋ ์ง ์์ผ๋ฉด ๋ฐํํฉ๋๋คb
.
์ด๊ฒ์ ์๋์ ์ ๋๋ค. Java๋ ์์ฒด ๋ฌธ์ํ ์ฝ๋, ์ฆ ์ฃผ์ ์์ด ์ดํดํ ์ ์๋ ์ฝ๋๋ฅผ ์ฝ๊ฒ ์์ฑํ ์ ์๊ฒ ํด์ฃผ๋ ์ฌ๋ฌ ์ธ์ด ์ค ํ๋์ ๋๋ค. ์ข์ Java ์ฝ๋์์๋ ๋ง์ ๋ฉ์๋๊ฐ ์์ด ๋ฌธ์ฅ์ฒ๋ผ ์ฝํ๋๋ค.
์ฝ๋๋ฅผ ์์ฑํ ๋ ๊ทํ์ ์๋ฌด๋ ์ฝ๋๋ฅผ ๊ฐ๋ฅํ ํ ๊ฐ๋จํ๊ณ ๊ฐ๊ฒฐํ๊ฒ ๋ง๋๋ ๊ฒ์ ๋๋ค. ์ฝ๋๊ฐ ์ฝ๊ธฐ ์ฌ์ด์ง ์๊ฐํ๊ณ ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก ์์ง์ด๊ธฐ ์์ํ ๊ฒ์ ๋๋ค.
Java์์๋ ์ฝ๊ธฐ ์ฌ์ด ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ ๋๋ค. ๋ฐ๋์งํ๊ฒ๋ ๋ฉ์๋์ ๋ํ ๋ชจ๋ ์ฝ๋๋ ๋จ์ผ ํ๋ฉด(์: 20-30์ค)์ ๋ง์ต๋๋ค. ์ด๊ฒ์ ์ ์ฒด Java ์ปค๋ฎค๋ํฐ์ ํ์ค์ ๋๋ค. ์ฝ๋๋ฅผ ๊ฐ์ ํ ์ ์๋ค๋ฉด ๊ฐ์ ํด์ผ ํฉ๋๋ค.
์ข์ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ์ฐ์ต์ ํตํด์์ ๋๋ค. ์ฝ๋๋ฅผ ๋ง์ด ์์ฑํ๊ณ , ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋๋ฅผ ์ฐ๊ตฌํ๊ณ , ๊ฒฝํ์ด ๋ง์ ๋๋ฃ์๊ฒ ์ฝ๋ ๊ฒํ ๋ฅผ ์์ฒญํ์ธ์.
๊ทธ๋ฆฌ๊ณ ๋น์ ์ด ์ค์ค๋ก์๊ฒ "๊ทธ๋ฅ ๋ด๋ฒ๋ ค๋ฌ"๋ผ๊ณ ๋งํ๋ ์๊ฐ ๋น์ ์ ์ฑ์ฅ์ ๋ฉ์ถ๋ค๋ ๊ฒ์ ๊ธฐ์ตํ์ธ์.
ํ๋ก๊ทธ๋จ์ ํฌํจ๋์ด์ผ ํ๋ ์ํฐํฐ ๊ฒฐ์
๋ค๋ฅธ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ดํดํ ์ ์๋ ์ฝ๋๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค. 10๋ช ์ค 9๋ช ์ ํ๋ก๊ทธ๋๋จธ๊ฐ ํ๋ก๊ทธ๋จ ์ค๊ณ์ ํด๋์ค A, B, C๋ฅผ ํฌํจํ๋ค๋ฉด ํ๋ก๊ทธ๋จ์๋ ํด๋์ค A, B, C๋ฅผ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ดํดํ ์ ์๋ ์ฝ๋๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค.
ํ๋ฅญํ๊ณ ์๋ํ๋ฉฐ ๋น ๋ฅด์ง๋ง ๋นํ์ค ์ฝ๋๋ ๋์ ์ฝ๋์ ๋๋ค.
๋ค๋ฅธ ์ฌ๋์ ํ๋ก์ ํธ๋ฅผ ์ฐ๊ตฌํด์ผ ํฉ๋๋ค. ์ด๊ฒ์ ์์ญ ๋ ๋์ IT ์ฐ์ ์์ ์ถ์ ๋ ๋ชจ๋ ์งํ๋ฅผ ํก์ํ๋ ๊ฐ์ฅ ์ข๊ณ ๋น ๋ฅด๊ณ ์ฌ์ด ๋ฐฉ๋ฒ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ฏธ ํ๋ฅญํ๊ณ ๋์ค์ ์ด๋ฉฐ ์ ๋ฌธ์ํ๋ ํ๋ก์ ํธ์ธ Java SDK ์ ์ก์ธ์คํ ์ ์์ต๋๋ค . ๊ทธ๊ฒ์ผ๋ก ์์ํ์ญ์์ค.
ํด๋์ค์ ๊ตฌ์ฑ ๋ฐฉ๋ฒ์ ๋ถ์ํฉ๋๋ค. ์ผ๋ถ ๋ฉ์๋๋ ์ ์ ์ด๊ณ ๋ค๋ฅธ ๋ฉ์๋๋ ๊ทธ๋ ์ง ์์ ์ด์ ๋ฅผ ์๊ฐํด ๋ณด์ญ์์ค. ๋ฉ์๋์ ํน์ ๋งค๊ฐ๋ณ์๊ฐ ์์ง๋ง ๋ค๋ฅธ ๋งค๊ฐ๋ณ์๋ ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์ ์ด๋ฌํ ๋ฉ์๋๊ฐ ์ ํํ ๋ฌด์์ธ์ง, ์ ํด๋์ค ์ด๋ฆ์ด ๋ฌด์์ธ์ง, ํน์ ํจํค์ง์ ํฌํจ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
์ด ๋ชจ๋ ์ง๋ฌธ์ ๋ํ ๋ต์ ์ดํดํ๊ธฐ ์์ํ๋ฉด ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ดํดํ ์ ์๋ ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
์ฆ, Java SDK์ ๋ฉ์๋์์ ์ฝ๋๋ฅผ ๋ถ์ํ์ง ์๋๋ก ๊ฒฝ๊ณ ํ๊ณ ์ถ์ต๋๋ค . ๋ง์ ๋ฉ์๋๊ฐ ์๋๋ฅผ ์ต๋ํํ๊ธฐ ์ํด ๋ค์ ์์ฑ๋์์ผ๋ฉฐ ๊ฐ๋ ์ฑ์ด ์์ฌ์ค๋ฝ์ต๋๋ค.
ํ๋ก๊ทธ๋จ์ ๋ ผ๋ฆฌ์ ๋ถ๋ถ์ผ๋ก ์ฌ๋ฐ๋ฅด๊ฒ ๋ถํ
๊ฑฐ์ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ ๋ถ๋ถ ๋๋ ๋ชจ๋๋ก ๋๋ฉ๋๋ค. ๊ฐ ๋ถ๋ถ์ ํ๋ก๊ทธ๋จ์ ๊ณ ์ ํ ์ธก๋ฉด์ ๋ด๋นํฉ๋๋ค.
์ปดํจํฐ์๋ ๋ง๋๋ณด๋, ๋ชจ๋ํฐ ๋ฐ ํค๋ณด๋๊ฐ ์์ต๋๋ค. ์ด๋ค์ ๋ชจ๋ ๊ฐ๋ณ์ ์ผ๋ก ๋์จํ๊ฒ ๊ฒฐํฉ๋ ๋ถํ์ ๋๋ค. ๋ํ USB, HDMI ๋ฑ์ ํ์คํ๋ ๋ฐฉ์์ผ๋ก ์ํธ ์์ฉํฉ๋๋ค. ํค๋ณด๋์ ์ปคํผ๋ฅผ ์์ ๊ฒฝ์ฐ ์ฑํฌ๋์์ ๊ฐ๋จํ ์ป์ด๋ด๊ณ ๊ฑด์กฐ์ํจ ๋ค์ ๊ณ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๋ ธํธ๋ถ์ ๋ชจ๋๋ฆฌ์ ์ํคํ ์ฒ์ ํ ์์ ๋๋ค. ๋ถ๋ฆฌ๋ ๋ ผ๋ฆฌ์ ๋ถ๋ถ์ ์๋ณํ ์ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ํจ์ฌ ๋ ํตํฉ๋์ด ์์ต๋๋ค. MacBookPro์์ ํค๋ณด๋๋ฅผ ์ฒญ์ํ๋ ค๋ฉด ๋ ธํธ๋ถ์ ์ ๋ฐ์ ๋ถํดํด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ธํธ๋ถ์ ์ปคํผ๋ฅผ ์๋ ๊ฒ์ ์ ๋ ธํธ๋ถ์ ์ฃผ๋ฌธํ๋ ์ด์ ์ ๋๋ค. ์๋ก์ด ์ปคํผ๊ฐ ์๋๋๋ค.
3. ๋๋ง์ ์์ ๋ง๋ค๊ธฐ
๊ทธ๋ฌ๋ ์ด์ ๋ง ํ๋ก๊ทธ๋๋ฐ์ ๋ฐฐ์ฐ๋ ์ค์ด๋ฏ๋ก ์์ ๋ง์ ํด๋์ค๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์์ผ๋ก์จ ์๊ฒ ์์ํด์ผ ํฉ๋๋ค.
๋ฌผ๋ก ์ด๋ฏธ ํด๋์ค๋ฅผ ๋ง๋ค์์ง๋ง ํ๋ก๊ทธ๋จ์ ์ด๋ค ํด๋์ค๋ฅผ ํฌํจํด์ผ ํ๋์ง, ์ด๋ฆ์ ์ด๋ป๊ฒ ์ง์ ํด์ผ ํ๋์ง, ์ด๋ค ๋ฉ์๋๋ฅผ ๊ฐ์ ธ์ผ ํ๋์ง ์ดํดํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ค์ด ์๋ก ์ด๋ป๊ฒ ์ํธ ์์ฉํด์ผ ํ๋์ง.
์ํฐํฐ ๋ชฉ๋ก
์ด๋์๋ถํฐ ์์ํด์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ๋ค๋ฉด ์ฒ์๋ถํฐ ์์ํ์ธ์.
์ฒ์ ํ๋ก๊ทธ๋จ ์ค๊ณ๋ฅผ ์์ํ ๋ ์ข ์ด ํ ์ฅ์ ๋ค๊ณ ํ๋ก๊ทธ๋จ์ ํฌํจ๋์ด์ผ ํ๋ ๊ฐ์ฒด(๊ฐ์ฒด) ๋ชฉ๋ก์ ๊ฐ๋จํ ์ ์ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ๊ฐ ์ํฐํฐ๋ ๋ณ๋์ ํด๋์ค๋ผ๋ ์์น์ ๋ฐ๋ผ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
์
์ฒด์ค ๊ฒ์์ ์์ฑํ๊ณ ์ถ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ๋ค์ ์ํฐํฐ๊ฐ ํ์ํฉ๋๋ค: ์ฒด์คํ๊ณผ 6๊ฐ์ง ์ ํ์ ์ฒด์ค ๋ง. ์กฐ๊ฐ์ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์์ง์ด๊ณ ๋ค๋ฅธ ๊ฐ์ ๊ฐ์ต๋๋ค. ๊ทธ๋ค์ด ๋ณ๋์ ํด๋์ค๋ผ๋ ๊ฒ์ด ์ด์น์ ๋ง์ต๋๋ค. ์ค์ ๋ก ์ฒ์ ์์ํ ๋ ์์ ์ด ๋ง์์๋ก ์ข์ต๋๋ค.
2๊ฐ๊ฐ ์๋ 10๊ฐ์ ํด๋์ค๋ฅผ ์์ฑํ๋ ์ด๋ณด ํ๋ก๊ทธ๋๋จธ๋ฅผ ๋ง๋๋ ๊ฒ์ ๋งค์ฐ ๋๋ญ ๋๋ค. 10๊ฐ์ ํด๋์ค๋ฅผ ์์ฑํ๋ ๋์ ์ด๋ณด์๋ ๋ ๊ฐ์ ํด๋์ค ๋๋ ์๋ง๋ ํ๋๋ง ์์ฑํ๋ ๊ฒ์ ์ข์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋๋ฃ ํ๋ก๊ทธ๋๋จธ ์ฌ๋ฌ๋ถ, ๋ ๋ง์ ํด๋์ค๋ฅผ ์์ฑํ์ญ์์ค. ๊ทธ๋ฆฌ๊ณ ๋น์ ์ ์ฝ๋๋ ์๋ง๋ ๋น์ ์ ์ ์ธํ ๋ชจ๋ ์ฌ๋์๊ฒ ๋ ๋ช ํํด์ง ๊ฒ์ ๋๋ค ๐
์ฒด์ค
์ฒด์ค๋ฅผ ์ํ ํด๋์ค๋ฅผ ์์ฑํ๊ธฐ๋ก ๊ฒฐ์ ํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ด ํด๋์ค๋ ์ด๋ป๊ฒ ์๊ฒผ์๊น์?
์ฒด์คํ์ 8 x 8 ๋ฐฐ์ด์ ๋๊น? ๋ฐฐ์ด์ ๋ํ ์ฐธ์กฐ๋ฅผ ๋ด๋ถ์ ์ผ๋ก ์ ์ฅํ๋ ๋ณ๋์ ํด๋์ค๋ฅผ ๋ง๋๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ "chessboard" ํด๋์ค์ ๋ง์ ์ ์ฉํ ๋ฉ์๋๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ํน์ ์ ์ด ๋น์ด ์๋์ง ๋๋ ์ฌ์ฉ ์ค์ธ์ง ํ์ธํ ์ ์์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์์ํ ๋ ํญ์ ์ด ์์น์ ๋ฐ๋ผ์ผ ํฉ๋๋ค. ํ๋ก๊ทธ๋จ์๋ ๋ค์ํ ์ํฐํฐ๊ฐ ์๊ณ ์ํฐํฐ์๋ ์ ํ์ด ์์ต๋๋ค. ์ด ์ ํ์ ํด๋์ค์ ๋๋ค.
4. ์ ์ ๋ณ์ ๋ฐ ๋ฉ์๋
๋ํ ์ ์ ๋ณ์์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์์ง ๋ง์ญ์์ค. ์ฒด์คํ์์ ๋ค๋ฅธ ์ฒด์ค ๋ง๊ณผ ์ํธ ์์ฉํ๋ ์ฒด์ค ๋ง์ด ์๋ ๊ฒฝ์ฐ ์ฝ๋์๋ ์ฒด์คํ๋ฟ๋ง ์๋๋ผ ์ฒซ ๋ฒ์งธ ๋ง๊ณผ ๋ ๋ฒ์งธ ๋ง์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ทจํ๋ ๋ฉ์๋๊ฐ ํ์ํฉ๋๋ค.
ํ๋ก๊ทธ๋จ์ ์ด๋์์๋ ์ก์ธ์คํ ์ ์๋ ์ ์ ๋ณ์๋ ์ผ๋ฐ์ ์ผ๋ก "ํญ์ ์กด์ฌํ๋" ๊ฐ์ฒด์ ๋ํ ์ฐธ์กฐ๋ฅผ ๊ณ์ ์ ๋ฌํ๋ ๊ฒ์ ๋ฐฉ์งํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ํธ | ๋ฉ๋ชจ |
---|---|
|
๋จ์ผ ChessBoard ๊ฐ์ฒด์ ๋ํ ์ฐธ์กฐ์
๋๋ค. ์ ์ ๋ณ์๊ฐ ์๋ 8x8 2์ฐจ์ ๋ฐฐ์ด์ ๋๋ค. ๋ณด๋์ ์กฐ๊ฐ์ ์ถ๊ฐํฉ๋๋ค. |
๋๋ ์ ์ ๋ณ์ ๋์ ์ฑ๊ธํค ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ ๋ฉ์๋๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
public class ChessBoard
{
private static ChessBoard board = new ChessBoard();
public static ChessBoard getBoard()
{
return board;
}
public ChessItem[][] cells = new ChessItem[8][8];
...
}
public class Game
{
public static void main(String[] args)
{
var board = ChessBoard.getBoard();
board.cells[0][3] = new King(Color.WHITE);
board.cells[0][4] = new Queen(Color.WHITE);
...
}
}
GO TO FULL VERSION