์ง์ ๋ ๊ธฐ์
![์ด์ ๋ ๋ฒจ 09 - 1]()
๋ํ์ ์ฐ๋ฆฌ์๊ฒ ์ด๋ก ๊ณผ ์ค์ ์ฌ์ด์ ํฐ ์ฐจ์ด๊ฐ ์๋ค๊ณ ๊ฐ๋ฅด์ณค์ต๋๋ค. ๊ธ์, ํ์คํ ๋น์ ์ ๊ทธ๊ฒ์ด ๋์ผํ์ง ์๋ค๋ ๊ฒ์ ์ดํดํฉ๋๋ค. ๊ทธ๋ฌ๋ ํต์ฌ์ ์ธ ์ฐจ์ด์ ์ ๋ณด์ด์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ๋๊ฐ ์์ต๋๋ค.
๋๋ถ๋ถ์ ์ฌ๋๋ค์ "I know"์ "I can" ์ฌ์ด์ ๋ฑํธ๋ฅผ ๋ฃ์ต๋๋ค. ๋น์ ์? ๋ช ๊ฐ์ง ์๋ฅผ ๋ค๋ฉด ์ด๋ป์ต๋๊น?
- ํก์ฐ์ด ๋์๊ฒ ๋์๋ค๋ ๊ฒ์ ์์ง๋ง ๋๋ ๋ด๋ฐฐ๋ฅผ ํผ์ด๋ค.
- ํจ์คํธํธ๋๊ฐ ๋์๊ฒ ์ข์ง ์๋ค๋ ๊ฒ์ ์์ง๋ง ๋จน์ต๋๋ค.
- ๊ตํต๋ฒ๊ท๋ ์์ง๋ง ์ด์ ์ ๋ชปํด์.
- ๋๋ ์กฐ๊น
์ด ๋์๊ฒ ์ข๋ค๋ ๊ฒ์ ์์ง๋ง ์์นจ์ ์กฐ๊น
์ ํ์ง ์๋๋ค.
์ฌ๋๋ค์ด "๋๋ ํ ์ ์๋ค"๋ฅผ "์๊ณ ์๋ค"๋ก ๋ฐ์๋ค์ด๋ ๊ฒฝ์ฐ๊ฐ ์ข
์ข
์์ต๋๋ค. ๊ตํต๋ฒ๊ท์ ์ข์ ์์
๋๋ค. ์ฌ๋์ด ๊ท์ ์ ์๊ณ ์ด์ ํ ์ค ์๋ค๋ฉด ์ด์ ์ ํ ์ ์๋ค๋ ๋ง์ธ๊ฐ? ์๋์. ๊ทธ๊ฐ ์ด์ ํ ์ค ์๋ค๊ณ ์๊ฐํ๋ค๋ฉด? ๊ทธ๋ ๋ค๋ฉด ๊ฐ์ฌ๊ฐ ํ์ํ ์ด์ ๋ ๋ฌด์์
๋๊น? ๊ทธ๋ ์ด๋ฏธ ๋ชจ๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค.
์ด๋ฏธ ๋ชจ๋ ๊ฒ์ ์๊ณ ์๋ค๊ณ ํ์ ํ๋ฉด ์๋ก์ด ๊ฒ์ ๋ฐฐ์ฐ์ง ๋ชปํ ๊ฒ์
๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋น์ ์ด ๋ชจ๋ ๊ฒ์ ํ ์ค ์๋ค๊ณ ํ์ ํ๋ค๋ฉด, ๋น์ ์ ๊ณต๋ถํ์ง ์์ ๊ฒ์
๋๋ค. ์ด๋ฐ ์๊ฐ์ ๋จธ๋ฆฌ์ ๋ ์ค๋ฅด์ง๋ ์์ ๊ฒ์
๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ๋น์ ์ด ๋ฌด์ธ๊ฐ๋ฅผ ๋ฐฐ์ธ ์ ์๋ ๋ชจ๋ ๋ฉ์ง ๊ธฐํ๋ฅผ ๋์น๊ฒ ๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ผ๋ฐ์ ์ธ ๋ํ์ ์ง์๋ง ์ ๊ณตํฉ๋๋ค. ์ค์ค๋ก ๊ธฐ์ ์ ์ต๋ํด์ผ ํฉ๋๋ค. ํ์ง๋ง ๋๋ ๋ฌด์์ ๋ฃ์ต๋๊น? ๋น์ ์ ๋น์ ์ ๋ํ์์ ์ด๋ก ์ธ์ ์ฐ์ต์ ํ์ต๋๊น? ์ข์,
๋ฌผ๋ฆฌํ๊ณผ์์ ๊ณต๋ถํ๋ค๋ฉด, ํจ์จ์ด 20% ์ด์์ธ ์ฆ๊ธฐ ๊ธฐ๊ด์ ์๋ ๋ชจ๋ธ์ ๋ง๋์ญ์์ค. ๋๋ ๋น์ ์ด ๊ทธ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์๋ค๊ณ ์ฅ๋ดํ์ง๋ง ๋น์ ์ ์ค์ ๋ก ๊ทธ๊ฒ์ ํ ์ ์์ ๊ฒ์
๋๋ค, ๋ง์ต๋๊น? ๋น์ ์
ํํ์ ์
๋๊น ? ๋ฌด์ฐ ๊ฐ๋ฃจ๋ฅผ ๋ง๋์ญ์์ค. ๋น์ ์ ๋ฐฉ๋ฒ์ ์๊ณ ์์ง๋ง ํ ์ ์์ต๋๋ค, ํ?
์ํ์, ๋น์ ์? ํฌํ์ ๊ถค์ ์ ๊ณ์ฐํฉ๋๋ค. ๊ป์ง์ ๋ชจ์์ ๊ณ ๋ คํ๋ ๊ฒ์ ์์ง ๋ง์ญ์์ค. ์ํ ์ ์ ์ค์ํ์์ ๋ ์ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ตฌํ ๋ง์ด ์์ต๋๋ค.
์๋ฌผํ์? ํ๋์ค๋ฆฐ์ ๋ถ๋ฆฌํฉ๋๋ค. ์ด ๊ณฐํก์ด๋ ๋ฉ๋ก ์์ ์๋๋๋ค. ๋น์ ์ ๋ฐฉ๋ฒ์ ์๊ณ โ ํ๋ฅญํฉ๋๋ค! ๋น์ ์ ๊ทธ๊ฒ์ ํ ์ ์์ต๋๋ค?
๊ฒฝ์ ํ์?์ ๊ฐ ์์น์ ์์ธกํฉ๋๋ค. ์๋ฃ? ์ด์ ์์ธก์ ๋ฐ๋ผ ์ฐ๊ฐ $2,000 ๋๋ $200,000๋ก ๋ฐ๊พธ์ญ์์ค. FOREX์์ ํ๋ ์ดํ ์ ์ด ์์ต๋๊น? ์ง์ง ๋์ ์ํด? ์๋๋ฉด ๊ทธ๋ฅ ๋ญ์ง ์์ธ์?
๊ตญ์ ๊ฒฝ์ ? ํ๋ คํ! ํด์ธ ํ์ฌ๋ ์ด๋์์ ์ด ์ ์์ต๋๊น? ํ์ฝฉ, ์์ผ๋๋ ๋๋ ๋ฏธ๊ตญ. ์? ์์ฌ์ค๋ฌ์ด ์ฌ์ค์ ์๋๋ผ๋ ์ค์ ๋ก ํด๋ณธ ์ ์ด ์๊ธฐ ๋๋ฌธ์ ๊ฑฐ์ ํ ์ ์์ต๋๋ค. ๋น์ ์ ๊ทธ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ฝ๊ฐ์ ์ค๋ง๋ฆฌ์กฐ์ฐจ ๊ฐ์ง๊ณ ์์ง ์์ต๋๋ค. ์ค, ๋น์ ์ ๋ํ์์ ๊ทธ๊ฒ์ ๊ณต๋ถํ์ง ์์๋์? ๋น์ ์ด ์ค๋น๋์ง ์์ ์ผ์ ๋น์ ์๊ฒ ์ค ๊ถ๋ฆฌ๊ฐ ์์ต๋๊น? ์ด๊ฒ์ด
์ค์ํ์ ๊ณผ์ ์ด๊ธฐ ๋๋ฌธ์
๋๋ค. ์ด ๊ดํ์ ๋ํ์์ ๊ณต๋ถํ ๋ชจ๋ ๊ฒ์
๋๋ค: ๊ตฌํ ๋ง, ์๋ฒฝํ ๊ฒฝ์ - ์ค์ํ์๋ ์กด์ฌํ์ง ์์ต๋๋ค. ๊ทผ๋ฐ ์ ์ธ๊ธ์ ์์์ง
๋ง์ผํ
์ ๋ฌธ๊ฐ ? ๊ฐ๋ฅํ ํ ๋ง์ ์ฌ๋๋ค์ด ๋ด ๊ฐ์์ ๋ํด ์ ์ ์๋๋ก $500๋ฅผ ์ง์ถํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๋ฌด์์
๋๊น? ๊ด๊ณ ? ๊ณ ์ ์ ์ธ ๊ด๊ณ ๋ฟ๋ง ์๋๋ผ ๋ํ์์ ๊ฑฐ์ ๋
ํนํ ๋ง๋ณํต์น์ฝ์ผ๋ก ๋ฐฐ์ ๋ค๊ณ ํ์ ํ๋ USP(๋
ํนํ ํ๋งค ์ ์)์ ๊ฐ๋
๋ ์ด๋ฏธ ๊ตฌ์์ด๋ผ๋ ์ฌ์ค์ ์๊ณ ๊ณ์ญ๋๊น?
๋น์ ์ด ์๋ ๊ฒ์ ์์ด ๋ฒ๋ฆฌ์ญ์์ค. ์์ ์๊ฒ ๋ฌผ์ด๋ณด์ญ์์ค โ ๋ฌด์์ ํ ์ ์์ต๋๊น? ์ ์ฉํ๋ค๊ณ ์? ์ฌ๋๋ค์ด ๋์ ์ง๋ถํ๋ ๊ฒ? ์ข์ ๋, ๋ด ๋ง์? ์น๊ตฌ ์ฌ๋ฌ๋ถ, CodeGym๊ณผ ๊ฐ์ ๋ฉ์ง ์ฝ์ค์ ๊ฐ์ฌ๋ฅผ ํํฉ์๋ค. ๊ทธ๊ฒ์ผ๋ก ์ธํด ๋น์ ์ ํ๋ก๊ทธ๋จํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฟ๋ง ์๋๋ผ ์ค์ ๋ก ๊ทธ๊ฒ์ ํ ์ ์๊ฒ ๋ ๊ฒ์
๋๋ค. ๋น์ ์ ๋ํ ์ง์
์ ์ป์ ์ ์๊ณ ๋ช ๋
์์ ์ข์ ๋์ ๋ฒ ์ ์์ต๋๋ค. ์ด ๋์ด๋ฉด ์ฐฉํ๊ณ ์๋ํ๊ฒ ์ด ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๋ค์ ํ ๋ฒ ๋ง์๋๋ฆฌ์ง๋ง ๊ธฐ์ตํ์ธ์. ๋ฌด์์ ์๋์ง๋ ์ค์ํ์ง ์์ต๋๋ค. ์ค์ํ ๊ฒ์ ๋น์ ์ด ๊ฐ์ง๊ณ ์๋ ์ ์ฉํ ๊ธฐ์ , ์ฌ๋๋ค์ด ๋น์ ์๊ฒ ๊ธฐ๊บผ์ด ์ง๋ถํ ๊ธฐ์ ์
๋๋ค. ์ด๊ฒ์ ๋นจ๋ฆฌ ์ดํดํ ์๋ก ์ข์ต๋๋ค.
๋น์ ์ ์๋ก์ด ์์ค์ ๋๋ฌํ์ต๋๋ค
๋ ๋ฒจ 9
1 Risha, ์คํ ์ถ์
![์ด์ ๋ ๋ฒจ 09 - 4]()
- ์ฌ๊ธฐ์! ์ค๋์ ์คํ ํธ๋ ์ด์ค๊ฐ ๋ฌด์์ธ์ง ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค. ๊ทธ๋ฌ๋ ๋จผ์ ์คํ์ด ๋ฌด์์ธ์ง ์ค๋ช
ํ๊ฒ ์ต๋๋ค. - ์๋ฅ ๋๋ฏธ๋ฅผ ์์ํด๋ณด์ญ์์ค - ํน์ ์ฌ๋ฌด์์ ๋ํ ๊ณผ์ . ์ ๊ณผ์ ๋ฅผ ์คํ ๋งจ ์์ ๋์ ์ ์์ผ๋ฉฐ ์คํ ๋งจ ์์์ ๊ณผ์ ๋ฅผ ๊ฐ์ ธ์ต๋๋ค. ๋ฐ๋ผ์ ๊ณผ์ ๋ ์ ์ฐฉ์์ด ์๋๋๋ค. ์ ์์ด ๋ง์ง๋ง์ผ๋ก ์ค๋ ๊ณผ์ ๋ฅผ ๋งก์ ๋๋ง๋ค.
์ด๋ฌํ ์์ง ๊ตฌ์กฐ๋ฅผ ์คํ์ด๋ผ๊ณ ํฉ๋๋ค . -
Java์๋ ํน๋ณํ ์ปฌ๋ ์
์ธ Stack์ด ์์ต๋๋ค. ์ด ์ปฌ๋ ์
์๋ ยซ์์ ์ถ๊ฐยป ๋ฐ ยซ์์ ๊ฐ์ ธ์ค๊ธฐ(๊ฐ์ ธ์ค๊ธฐ)ยป ๋ฉ์๋๊ฐ ์์ต๋๋ค. ์ด๋ฏธ ์๊ณ ์๋ฏ์ด ๋ง์ง๋ง์ผ๋ก ์ถ๊ฐ๋ ์์๊ฐ ๋จผ์ ์ฌ์ฉ๋ฉ๋๋ค.
- ํ . ์ด๋ ต์ง ์์ ๊ฒ ๊ฐ์์. - ๊ด์ฐฎ์.
๊ทธ๋ฐ ๋ค์ ์คํ ์ถ์ ์ด ๋ฌด์์ธ์ง ์ค๋ช
ํ๊ฒ ์ต๋๋ค.
์ด๋ค. - Java์์
ํจ์ ะ๊ฐ ํจ์ B๋ฅผ ํธ์ถ ํ๊ณ ํ์๋
ํจ์ C๋ฅผ ํธ์ถ ํ๊ณ ์ฐจ๋ก๋ก
ํจ์ D๋ฅผ ํธ์ถํ๋ค๊ณ ์์ํด ๋ณด์ญ์์ค . ๋ฐ๋ผ์
ํจ์ B๋ฅผ ์ข
๋ฃํ๋ ค๋ฉด ๋จผ์ ํจ์ C๋ฅผ ์ข
๋ฃํด์ผ ํ๋ฉฐ ๊ทธ๋ ๊ฒ ํ๋ ค๋ฉด
ํจ์ D๋ฅผ ์ข
๋ฃํด์ผ ํฉ๋๋ค . ์ด๊ฒ์ ์คํ๊ณผ ๋งค์ฐ ์ ์ฌํฉ๋๋ค.
- ์ ์ฌ์ ์ ๋ฌด์์
๋๊น? - ์คํ์์ ํน์ ๊ณผ์ ์ ๋๋ฌํ๋ ค๋ฉด ๋งจ ์์ ๋์ธ ๊ณผ์ ๋ ๋ชจ๋ ์๋ฃํด์ผ ํฉ๋๋ค.
- ๊ธ์์, ์ผ์ข
์ ๋น์ ์ธ๋ฐ ์ ๊ฐ ๋ชจ๋ ๊ฒ์ ์ ๋๋ก ์ดํดํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. - ์ด๋ด. Java์์ ์คํ์ ์์ ์งํฉ์
๋๋ค. ๊ทธ๊ฒ์ ์คํ์ ์๋ ์ข
์ด ์ํธ์ ๊ฐ์ต๋๋ค. ์์์ ์ธ ๋ฒ์งธ๋ฅผ ๊ฐ์ ธ์ค๋ ค๋ฉด ๋ ๋ฒ์งธ ์ํธ๋ฅผ ๊ฐ์ ธ์์ผ ํ์ง๋ง ๊ทธ ์ ์ ์ฒซ ๋ฒ์งธ ์ํธ๋ฅผ ๊ฐ์ ธ์์ผ ํฉ๋๋ค. ์ํธ๋ ํญ์ ๋ฃ๊ณ ๋นผ๋ฉด ๋์ง๋ง ์ํธ๋ ๋งจ ์์๋ง ๋๊ณ ๋งจ ์์์๋ง ๊ฐ์ ธ๊ฐ ์ ์์ต๋๋ค. ํจ์ ํธ์ถ์๋ ๋์ผํ๊ฒ ์ ์ฉ๋ฉ๋๋ค.
ํจ์ ะ ๋ ํจ์ B๋ฅผ ํธ์ถ ํ๊ณ ํ์๋
ํจ์ C๋ฅผ ํธ์ถํฉ๋๋ค .
ะ ๋ฅผ ์ข
๋ฃํ๋ ค๋ฉด ๋จผ์
B๋ฅผ ์ข
๋ฃํด์ผ ํ๋ฉฐ ์ด๋ฅผ ์ํด์๋
C๋ฅผ ์ข
๋ฃํด์ผ ํฉ๋๋ค .
- ์ ๊น ๊ธฐ๋ค๋ ค์. ์ ๋๋ก ๋ ๊ฒฝ์ฐ ์ ์ฒด ์คํ์ ยซ์คํ์ ๋ฃ์ ๋ง์ง๋ง ์ํธ๋ง ๊ฐ์ ธ์ฌ ์ ์์ต๋๋คยป ๋ฐ ยซ๋จผ์ ๋ง์ง๋ง์ผ๋ก ํธ์ถ๋ ํจ์๊ฐ ์ข
๋ฃ๋์ด์ผ ํฉ๋๋คยป๋ก ๋ํ๋ฉ๋๋ค. ๊ทธ๋ ์ต๋๊น? - ์. ๋ฐ๋ผ์ ํจ์ ํธ์ถ์ ์์๋ ยซํจ์ ํธ์ถ ์คํยป ๋๋ ๋จ์ํ ยซํธ์ถ ์คํยป์
๋๋ค.
last ํธ์ถ๋ ํจ์๊ฐ ๋จผ์ ์ข
๋ฃ๋์ด์ผ ํฉ๋๋ค. ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
- ์ข์ต๋๋ค. ํจ์ ํธ์ถ๋ก ๋ชจ๋ ๊ฒ์ด ๋ช
ํํฉ๋๋ค. ํ์ง๋ง ์ด StackTraceElement ๋ ๋ฌด์์
๋๊น ? - JVM(Java Virtual Machine)์ ๋ชจ๋ ํจ์ ํธ์ถ์ ๊ธฐ๋กํฉ๋๋ค. ์ด๋ฅผ ์ํด ํน๋ณํ ์ปฌ๋ ์
์ธ ์คํ์ด ์์ต๋๋ค. ํ ํจ์๊ฐ ๋ค๋ฅธ ํจ์๋ฅผ ํธ์ถํ๋ฉด JVM์ ์ ์์
StackTraceElement๋ฅผ ์ด ์คํ์ ๋ฐฐ์นํฉ๋๋ค. ํจ์๊ฐ ๋๋๋ฉด ์์๊ฐ ์คํ์์ ์ญ์ ๋ฉ๋๋ค.
๋ฐ๋ผ์ ์ด ์คํ์ ํญ์ ยซํจ์ ํธ์ถ ์คํยป์ ํ์ฌ ์ํ์ ๋ํ ์ต์ ์ ๋ณด๋ฅผ ์ ์ฅํฉ๋๋ค. - ๋ชจ๋
StackTraceElementํธ์ถ๋ ๋ฉ์๋์ ๋ํ ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค.
๋ฐ๋ผ์ getMethodName์ ์ฌ์ฉํ์ฌ ์ด ๋ฉ์๋์ ์ด๋ฆ์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค . - ์์ ์๋ ๋ค์์ ๋ณด์ฌ์ค๋๋ค.
- ยซํธ์ถ ์คํยป ๊ฐ์ ธ์ค๊ธฐ:
- for-each ๋ฃจํ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ๋ฐ๋ณตํฉ๋๋ค . ์์ง ์์ผ์
จ์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค.
- ๋ฉ์๋ ์ด๋ฆ์ System.out ์ ์ธ์ํฉ๋๋ค .
- ํฅ๋ฏธ๋กญ๊ณ ์ฌ์ด ๊ฒ ๊ฐ์ต๋๋ค. ๊ณ ๋ง์์, ๋ฆฌ์ค!
2 Diego, ์คํ ํธ๋ ์ด์ค ํ์ ์์
- ์ด๋ด, ์๋ฏธ๊ณ ! ๋ค์์ ์คํ ์ถ์ ์ ํ๋ฉด์ ํ์ํ๋ ์์ ์์
์
๋๋ค.
์์
|
1 |
๊ฐ ๋ฉ์๋๋ StackTrace๋ฅผ ๋ฐํํด์ผ ํฉ๋๋ค.
์๋ก๋ฅผ ํธ์ถํ๋ 5๊ฐ์ ๋ฉ์๋๋ฅผ ์์ฑํฉ๋๋ค. ๊ฐ ๋ฉ์๋๋ StackTrace๋ฅผ ๋ฐํํด์ผ ํฉ๋๋ค. |
2 |
StackTrace ๋ค์
์๋ก๋ฅผ ํธ์ถํ๋ 5๊ฐ์ ๋ฉ์๋๋ฅผ ์์ฑํฉ๋๋ค. ๊ฐ ๋ฉ์๋๋ ํธ์ถ์ ๋ฉ์๋์ ์ด๋ฆ์ ๋ฐํํด์ผ ํฉ๋๋ค. StackTrace๋ฅผ ์ฌ์ฉํ์ฌ ํธ์ถ์ ๋ฉ์๋๋ฅผ ์ป์ ์ ์์ต๋๋ค.
|
์ผ |
์ด ๋ฉ์๋๋ ์๋ก ํธ์ถํ๋ 5๊ฐ์ ๋ฉ์๋ ์์ฑ ์์ ์ด ๋ฉ์๋๊ฐ ํธ์ถ๋ ์ฝ๋์ ์ค ๋ฒํธ๋ฅผ ๋ฐํํด์ผ ํฉ๋๋ค . ๊ฐ ๋ฉ์๋๋ ์ด ๋ฉ์๋๊ฐ ํธ์ถ๋ ์ฝ๋์ ์ค ๋ฒํธ๋ฅผ ๋ฐํํด์ผ ํฉ๋๋ค. element.getLineNumber() ํจ์๋ฅผ ์ฌ์ฉํ์ญ์์ค . |
4 |
10๋ฒ ํธ์ถ์ ์คํ ์ถ์
10๋ฒ ํธ์ถ์ ์คํ ์ถ์ ์ ๊ฐ์ ธ์ค๋ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. |
5 |
๋ฉ์๋๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํด์ผ ํฉ๋๋ค. ์คํ ์ถ์ ๊น์ด
์คํ ์ถ์ ๊น์ด๋ฅผ ํ์ํ๊ณ ๋ฐํํ๋ ๋ฉ์๋๋ฅผ ์์ฑํฉ๋๋ค. ์คํ ์ถ์ ๊น์ด๋ ํด๋น ๋ฉ์๋์ ์(๋ชฉ๋ก์ ์์ ์)์
๋๋ค. |
3 Elly, ์ค๋ฅ ๋ฐ ์์ธ
- ์ด๋ด, ์๋ฏธ๊ณ ! ์ค๋ ์ฐ๋ฆฌ๋ ๋งค์ฐ ํฅ๋ฏธ๋ก์ด ๊ตํ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์์ธ ์ฌํญ์ ๋ํด ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค.
์์ธ๋ ํ๋ก๊ทธ๋จ์ ์ค๋ฅ๋ฅผ ์ ์ดํ๋ โโํน๋ณํ ๋ฉ์ปค๋์ฆ์
๋๋ค. ๋ค์์ ํ๋ก๊ทธ๋จ์์ ๋ฐ์ํ ์ ์๋ ์ค๋ฅ์ ๋ช ๊ฐ์ง ์์
๋๋ค.
- ํ๋ก๊ทธ๋จ์ด ์ ์ฒด ๋์คํฌ์ ํ์ผ ์ฐ๊ธฐ๋ฅผ ์๋ํฉ๋๋ค.
- ํ๋ก๊ทธ๋จ์ null ์ฐธ์กฐ๋ฅผ ์ ์ฅํ๋ ๋ณ์์ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ค๊ณ ์๋ํฉ๋๋ค.
- ํ๋ก๊ทธ๋จ์ ์ซ์๋ฅผ 0์ผ๋ก ๋๋๋ ค๊ณ ์๋ํฉ๋๋ค.
์ด๋ฌํ ์กฐ์น๋ก ์ธํด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก
์ด๊ฒ์ ํ๋ก๊ทธ๋จ ์ข
๋ฃ๋ก ์ด์ด์ง๋ฉฐ ์ฝ๋ ์คํ์ ๊ณ์ํ ํ์๊ฐ ์์ต๋๋ค.
- ์ ๊ทธ๋ฐ ๊ฒ๋๊น? - ์๋์ฐจ๊ฐ ๋ญ๋ ๋ฌ์ง์์ ๋จ์ด์ง ๋ ํธ๋ค์ ๋๋ฆฌ๋ ๊ฒ์ด ์๋ฏธ๊ฐ ์๋์?
- ํ๋ก๊ทธ๋จ์ด ์ข
๋ฃ๋์ด์ผ ํ๋ค๋ ๋ป์ธ๊ฐ์? - ์. ์ด์ ์๋ ๊ทธ๋ฌ์ต๋๋ค.
๋ชจ๋ ์ค๋ฅ๋ก ์ธํด ํ๋ก๊ทธ๋จ์ด ์ข
๋ฃ๋์์ต๋๋ค. - ๋งค์ฐ ํ๋ช
ํ ๊ฒฐ์ ์
๋๋ค.
- ๋
ธ๋ ฅํ๋ ๊ฒ์ด ์ข์ง ์์๊น์? - ์. MS Word์ ๊ฑฐ๋ํ ํ
์คํธ๋ฅผ ์
๋ ฅํ๊ณ ์ ์ฅํ์ง๋ง ์ ์ฅ๋์ง ์์์ง๋ง ํ๋ก๊ทธ๋จ์ ๋ชจ๋ ๊ฒ์ด ์ ์์ด๋ผ๊ณ ์๋ ค์ค๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ณ์ ์
๋ ฅํฉ๋๋ค. ์ด๋ฆฌ์์, ๊ทธ๋ ์ง?
- ์. - ๊ทธ๋ฐ ๋ค์ ํ๋ก๊ทธ๋๋จธ๋ ํฅ๋ฏธ๋ก์ด ์กฐ์น๋ฅผ ๋ด๋์์ต๋๋ค.
๊ฐ ํจ์๋ ์์
์ํ๋ฅผ ๋ฐํํ์ต๋๋ค. 0์ ํจ์๊ฐ ์์๋๋ก ์๋ํ์์ ์๋ฏธํ๋ฉฐ, ๋ค๋ฅธ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์์ ์๋ฏธํฉ๋๋ค . ์ด ๊ฐ์ ์ค๋ฅ ์ฝ๋์
๋๋ค. - ํ์ง๋ง ์ด ๋ฐฉ์์๋ ๋จ์ ์ด ์์์ต๋๋ค. ๊ฐ(!) ํจ์ ํธ์ถ ํ ํจ์์์ ๋ฐํ๋ ์ฝ๋(์ซ์)๋ฅผ ํ์ธํด์ผ ํ์ต๋๋ค. ์ฒซ์งธ, ๋ถํธํ์ต๋๋ค. ์ค๋ฅ ์ฒ๋ฆฌ ์ฝ๋๊ฐ ๊ฑฐ์ ์คํ๋์ง ์์์ง๋ง ํญ์ ์์ฑํด์ผ ํ์ต๋๋ค. ๋์งธ, ํจ์ ์์ฒด๋ ์ข
์ข
๋ค๋ฅธ ๊ฐ์ ๋ฐํํฉ๋๋ค. ์ด๋ป๊ฒ ํด์ผ ํ ๊น์?
- ์. ๊ทธ๊ฒ ๋ด๊ฐ ๋ฌป๊ณ ์ถ์๋ ๊ฒ์
๋๋ค. - ๊ทธ๋ฐ ๋ค์ ๋ฐ์ ๋ฏธ๋๊ฐ ์์ต๋๋ค. ์์ธ์ ์ค๋ฅ ์ฒ๋ฆฌ๊ฐ ๋ํ๋ฌ์ต๋๋ค. ์๋ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด JVM(Java Virtual Machine)์ ์ค๋ฅ์ ๋ํ ๋ชจ๋ ์ ๋ณด๋ฅผ ํฌํจํ๋ ํน์ ๊ฐ์ฒด(์์ธ)๋ฅผ ์์ฑํฉ๋๋ค. ๋ค๋ฅธ ์ค๋ฅ์ ๊ฒฝ์ฐ ๋ค๋ฅธ ์์ธ๊ฐ ์์ต๋๋ค.
- ๊ทธ๋ฐ ๋ค์ ์ด ์์ธ๋ ํ๋ก๊ทธ๋จ์ด ํ์ฌ ํจ์๋ฅผ ์ฆ์ ์ค๋จํ๋๋ก ๊ฐ์ ํ๊ณ ๋ค์ ํจ์๋ ๋ฉ์ธ ๋ฉ์๋๋ฅผ ์ข
๋ฃํ ๋๊น์ง ์ค๋จํฉ๋๋ค. ๊ทธ ํ ํ๋ก๊ทธ๋จ์ด ์ข
๋ฃ๋ฉ๋๋ค. Java ๊ฐ๋ฐ์๋ ์ด ํ๋ก์ธ์ค๋ฅผ ยซํธ์ถ ์คํ ๋กค๋ฐฑยป์ด๋ผ๊ณ ํฉ๋๋ค.
- ํ์ง๋ง ๋น์ ์ ํ๋ก๊ทธ๋จ์ด ํ์คํ ์ข
๋ฃ๋์ง ์์ ๊ฒ์ด๋ผ๊ณ ๋งํ์ต๋๋ค. - ๊ทธ๋ ์ต๋๋ค.
์์ธ๋ฅผ ์ก์ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๊ธฐ ๋๋ฌธ์
๋๋ค. ํ์ํ ๋ ์ธ์ ์ด๋์๋ ํน์ ์ฝ๋๋ฅผ ์์ฑํ์ฌ ์ด๋ฌํ ์์ธ๋ฅผ ํฌ์ฐฉํ๊ณ ์ค์ํ ์์
์ ์ํํ ์ ์์ต๋๋ค. - ์ด๋ฅผ ์ํด ํน๋ณํ ๊ตฌ์กฐ์
try-catch ๊ฐ ์์ต๋๋ค . ์๋ ๋ฐฉ์ ๋ณด๊ธฐ:
- ์ ยซmethod1 ํธ์ถ ํ. ํ์๋์ง ์์ต๋๋คยป๊ฐ ํ๋ฉด์ ํ์๋์ง ์์ต๋๊น? - ๋ฌผ์ด๋ด์ฃผ์
์ ๊ธฐ์ฉ๋๋ค. 25ํ์๋ 0์ผ๋ก ๋๋๊ธฐ๊ฐ ์์ต๋๋ค. ์ด๋ก ์ธํด ์ค๋ฅ(์์ธ)๊ฐ ๋ฐ์ํฉ๋๋ค. JVM(Java Virtual Machine)์ด ์ค๋ฅ ์ ๋ณด๋ฅผ ํฌํจํ๋ ๊ฐ์ฒด
ArithmeticException์ ์์ฑํ์ต๋๋ค. ์ด ๊ฐ์ฒด๋ ์์ธ์
๋๋ค.
- method1() ๋ฉ์๋ ๋ด์์ ์์ธ๊ฐ ๋ฐ์ํ์ต๋๋ค .
์ด๋ก ์ธํด ๋ฉ์๋๊ฐ ์ฆ์ ์ข
๋ฃ๋์์ต๋๋ค. ๋ํ try-catch ๋ธ๋ก์ด ์๋ ๊ฒฝ์ฐ
main ๋ฉ์๋๊ฐ ์ข
๋ฃ๋ฉ๋๋ค .
- try ๋ธ๋ก ๋ด์์ ์์ธ๊ฐ ๋ฐ์ํ๋ฉด catch ๋ธ๋ก ์์ catch๋ฉ๋๋ค .
๋ธ๋ก try ์ ๋๋จธ์ง ์ฝ๋๋ ์คํ๋์ง ์๊ณ ๋ธ๋ก catch ์ ์คํ์ด ์ฆ์ ์์๋ฉ๋๋ค.
- ์ ์ดํด๊ฐ ์๋๋ค์. - ์ฆ, ์ด ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ด ์๋ํฉ๋๋ค.
- try ๋ธ๋ก ๋ด์์ ์์ธ๊ฐ ๋ฐ์ํ๋ฉด ์ด ๋ธ๋ก์ ์ฝ๋๋ ๋ ์ด์ ์คํ๋์ง ์์ง๋ง ๋ธ๋ก catch ์ ์คํ์ด ์์๋ฉ๋๋ค.
- ์์ธ๊ฐ ๋ฐ์ํ์ง ์์ผ๋ฉด try ๋ธ๋ก์ ๋๊น์ง ์คํ๋๊ณ catch ๋ ์คํ๋์ง ์์ต๋๋ค .
- ์ํด! - ๊ฐ ๋ฉ์๋ ํธ์ถ ํ ํธ์ถ๋ ๋ฉ์๋๊ฐ ์์ฒด์ ์ผ๋ก ์ข
๋ฃ๋์๋์ง ๋๋ ์์ธ๋ก ์ธํด ์ข
๋ฃ๋์๋์ง ํ์ธํ๋ค๊ณ ์์ํด ๋ณด์ญ์์ค.
์์ธ๊ฐ ์๋ ๊ฒฝ์ฐ JVM์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ ๋ธ๋ก catch๋ฅผ ์คํํ๊ธฐ ์์ํ๊ณ ์์ธ๋ฅผ catchํฉ๋๋ค. catch ๋ธ๋ก์ด ์์ผ๋ฉด JVM์ ํ์ฌ ๋ฉ์๋๋ฅผ ์ข
๋ฃํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ํ์ฌ ๋ฉ์๋๋ฅผ ํธ์ถํ ๋ฉ์๋์์ ๋์ผํ ๊ฒ์ฌ๊ฐ ์์๋ฉ๋๋ค.
- ์ด์ ์ ๊ฒ ๊ฐ์์. - ๊ด์ฐฎ์.
- catch ๋ธ๋ก ์์ ์๋ Exception์ ๋ฌด์์
๋๊น? -
๋ชจ๋ ์์ธ๋ Exception ํด๋์ค์์ ์์๋ ํด๋์ค์
๋๋ค. catch ์ ํด๋น ํด๋์ค๋ฅผ ์ง์ ํ์ฌ ์ด๋ค ์ค ํ๋๋ฅผ ์ก์ ์ ์์ต๋๋ค.
๊ณตํต ์์ ํด๋์ค Exception์ ์ง์ ํ์ฌ ํ ๋ฒ์ ์ฐจ๋จํ๊ฑฐ๋ ๋ชจ๋ ์ฐจ๋จํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ๋ณ์ e(์ด ๋ณ์๋ ์์ธ ๊ฐ์ฒด์ ์ฐธ์กฐ๋ฅผ ์ ์ฅํจ)์์ ์ค๋ฅ์ ๋ํด ํ์ํ ๋ชจ๋ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค.
- ์์ฒญ๋! ๋ด ๋ฐฉ๋ฒ์์ ๋ค๋ฅธ ์์ธ๊ฐ ๋ฐ์ํ๋ฉด ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น? ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๊น? - ๋น์ ์ํด์ผํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ํ ์ ์์ต๋๋ค.
![์ด์ ๋ ๋ฒจ 09 - 7]()
- try ๋ธ๋ก์ ์ฌ๋ฌ
catch ๋ธ๋ก์ ํฌํจํ ์ ์์ผ๋ฉฐ ๊ฐ ๋ธ๋ก์ ํด๋น ์ ํ์ ์์ธ๋ฅผ catchํฉ๋๋ค.
- ์. ๊ธ์, ๋๋ ๊ทธ๊ฒ์ ์ป์๋ค. ๋ฌผ๋ก , ๋๋ ์ด๋ฐ ๊ธ์ ์ง์ ์ฐ์ง ์์ ๊ฒ์
๋๋ค. ํ์ง๋ง ๊ทธ๋ฐ ์ฝ๋๋ฅผ ๋ง๋๋ฉด ๋๋ ต์ง ์๋ค.
4 Elly, RuntimeException, throws
![์ด์ ๋ ๋ฒจ 09 - 8]()
- ์ค๋์ ๋ค๋ฅธ ์ฃผ์ ๋ฅผ ๊บผ๋ด๊ธฐ๋ก ํ์ต๋๋ค.
Java์์ ๋ชจ๋ ์์ธ๋ controlled/checked ๋ฐ
uncontrolled/unchecked ์ ๋ ๊ฐ์ง ์ ํ์ผ๋ก ๋๋ฉ๋๋ค . ์ฒดํฌ๋ ์์ธ๋ ํฌ์ฐฉ
๋์ด์ผ ํ๊ณ , ์ฒดํฌ๋์ง ์์ ์์ธ๋ ํฌ์ฐฉ๋ ์
์์ง๋ง ํ์๋ ์๋๋๋ค .
- ์๋์ ์ผ๋ก ์ฝ๋์์ ์์ธ๋ฅผ ๋์ง ์ ์์ต๋๊น? - ์ฝ๋์์ ์ง์ ์์ธ๋ฅผ ๋์ง ์ ์์ต๋๋ค. ์์ ๋ง์ ์์ธ๋ฅผ ์์ฑํ ์๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ๋์ค์ ์ด ๊ตฌ๋ฉ์ ๊น์ด ๋ค์ด๊ฐ ๊ฒ์
๋๋ค. ์ด์ JVM(Java Virtual Machine)์์ ๋ฐ์ํ๋ ์์ธ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค.
- ์ข์์. - ์์ธ
ClassNotFoundException ๋ฐ
FileNotFoundException ์ธ ๊ฒฝ์ฐ๋ฉ์๋์์ ๋ฐ์(๋ํ๋จ)ํ๋ ๊ฒฝ์ฐ ํ๋ก๊ทธ๋๋จธ๋ ๋ฉ์๋ ์๋ช
(๋ฉ์๋ ํค๋)์ ์ด๋ฅผ ์ง์ ํด์ผ ํฉ๋๋ค. ์ด๋ฌํ
์์ธ๊ฐ ํ์ธ๋ฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ด ํ์๋ฉ๋๋ค.
- ๋ฐ๋ผ์ ์ผํ๋ก ๊ตฌ๋ถ๋ ์์ธ๋ฅผ ๋์ง๊ณ ๋์ดํฉ๋๋ค. ์ค๋ฅธ์ชฝ? ๊ทธ๋ ์ต๋๊น? - ์. ๊ทธ๋ฌ๋ ๋ ๋ค๋ฅธ ํฅ๋ฏธ๋ก์ด ์ ์ด ์์ต๋๋ค. ์๋ ์์ ๊ฐ ์ปดํ์ผ๋๊ธฐ ์ํด์๋
method1()์ ํธ์ถํ๋ ๋ฉ์๋๊ฐ ์ด๋ฌํ ์์ธ๋ฅผ ํฌ์ฐฉ ํ๊ฑฐ๋
์์ผ๋ก ๋์ ธ์ผ ํฉ๋๋ค .
ํ์ธ๋ ์์ธ๋ฅผ ์์ผ๋ก ๋์ง๋ ค๋ฉด ๋ฉ์๋์ ํค๋์ ์ง์ ํด์ผ ํฉ๋๋ค . - ๋ค์ ํ ๋ฒ,
๊ธฐ๋ณธ ๋ฉ์๋์์ ํค๋ ๊ตฌ๋ฌธ์ FileNotFoundException์ throwํ๋ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ค๋ ๊ฒฝ์ฐ
โฆ๊ทธ๋ฐ ๋ค์ ๋ค์ ๋ ๊ฐ์ง ์ค ํ๋๋ฅผ ์ํํด์ผ ํฉ๋๋ค.
- FileNotFoundException , โฆ ์ํํ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ์ฝ๋๋ฅผ try-catch ๋ธ๋ก
์ผ๋ก ๋ํํด์ผ ํฉ๋๋ค.
- FileNotFoundException , โฆ
๋ฉ์๋
main ์ throws ๋ชฉ๋ก ์ ์ด๋ฌํ ์์ธ๋ฅผ ์ถ๊ฐํด์ผ ํฉ๋๋ค .
-์๋ฅผ ๋ค์ด ์ฃผ์๊ฒ ์ต๋๊น? - ์ฌ๊ธฐ๋ฅผ ๋ณด์ญ์์ค: - ์ด ์์ ๋ ์ปดํ์ผ๋์ง ์์ ๊ฒ์
๋๋ค. ์๋ํ๋ฉด
main ๋ฉ์๋ ๋ catchํด์ผ ํ๋ ์์ธ๋ฅผ throwํ๋ method1() ๋ฉ์๋๋ฅผ ํธ์ถํ๊ธฐ ๋๋ฌธ์
๋๋ค.
- ์์ ๋ฅผ ์ปดํ์ผํ๊ธฐ ์ํด์๋ main ๋ฉ์๋์ ์์ธ ์ฒ๋ฆฌ๋ฅผ ์ถ๊ฐํด์ผ ํฉ๋๋ค . ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ฅผ ์ํํ ์ ์์ต๋๋ค. - ์ฌ๊ธฐ์๋
try-catch๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฅผ ํฌ์ฐฉํฉ๋๋ค .
- ๋ ๋ช
ํํด์ง๊ณ ์์ง๋ง ๊ฑฐ์ ์์ต๋๋ค. - ์๋ ์๋ฅผ ์ดํด๋ณด์ญ์์ค. - ์ฌ์ ํ ์์ธ๊ฐ ์์ต๋๋ค.
RuntimeException ๊ณผ ์ฌ๊ธฐ์์ ์์๋ ํด๋์ค์
๋๋ค.
![์ด์ ๋ ๋ฒจ 09 - 10]()
![์ด์ ๋ ๋ฒจ 09 - 11]()
![์ด์ ๋ ๋ฒจ 09 - 12]()
๊ทธ๋ค์ ์ก๊ฑฐ๋ ๋์ง ํ์๋ ์์ต๋๋ค. ํ์ธ๋์ง ์์ ์์ธ์
๋๋ค. ์ด๋ฌํ ์์ธ๋ ์์ธกํ๊ธฐ ์ด๋ ค์ด ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋๋ฏ๋ก ๋ฐ์์ ์์ธกํ๋ ๊ฒ์ด ๊ฑฐ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
๋์ผํ ์์
์ ์ํํ ์ ์์ง๋ง throws ์ ์ง์ ํ ํ์๋ ์์ต๋๋ค .
5 Risha, ํธ์ถ ์คํ ๋กค๋ง, ์์ธ์์ ์ํํ๋ ๋ฐฉ๋ฒ
- ์์ธ๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง์ ๋ํด ์กฐ๊ธ ๋ ๋ง์๋๋ฆฌ๊ณ ์ถ์ต๋๋ค. ์๋ ์๋ ๋ค์์ ์ค๋ช
ํฉ๋๋ค.
- ์ดํด๊ฐ ์ ๋ฉ๋๋ค. - ์ข์์. ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ์ค๋ช
ํ๊ฒ ์ต๋๋ค. - ์ผ์ชฝ ์์ ์์๋ ์ฌ๋ฌ ๋ฉ์๋๋ฅผ ์ฐ์์ ์ผ๋ก ํธ์ถํฉ๋๋ค.
method2() ์์ ์ฐ๋ฆฌ๋ ํน๋ณํ ์์ธ๋ฅผ ์์ฑํ๊ณ ๋ฐ์์ํต๋๋ค(์ค๋ฅ๋ฅผ ์์ํ๊ธฐ ์ํด). - ์ค๋ฅธ์ชฝ์ ์๋ ์ด๋ค ์ผ์ด ๋ฐ์ํ๋์ง ๋ณด์ฌ์ค๋๋ค.
method2() ๋ฅผ ๋ณด์ญ์์ค .
์ด๊ฒ์ด ๋ฐ๋ก ์์ธ์ ์์ฑ์ด ๋ณํ๋๋ ๊ฒ์
๋๋ค. RuntimeException ์ ํ ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ํน์ ๋ณ์
์์ธ ์ ์ ์ฅ ํ๊ณ ์ฆ์ ๋ฉ์๋๋ฅผ ์ข
๋ฃํฉ๋๋ค โ
return . -
method1 ์์ method2 ๋ฅผ ํธ์ถํ ํ ๊ฒ์ฌ๊ฐ ์์ต๋๋ค.
์์ธ๊ฐ ์๋์ง ์๋์ง; ์์ธ๊ฐ ์์ผ๋ฉด method1์ด ์ฆ์ ์ข
๋ฃ๋ฉ๋๋ค. ์ด ํ์ธ์ ๊ฐ(!) Java ๋ฉ์๋๋ฅผ ํธ์ถํ ํ ์์์ ์ผ๋ก ์ํ๋ฉ๋๋ค.
- ์ฐ์! - ์ ํํ.
-๋ฉ์๋ ์ค๋ฅธ์ชฝ ์ด์
try-catch ๋ธ๋ก ์์ ์์ธ๊ฐ ์กํ๋ฉด ์ด๋ป๊ฒ ๋๋์ง ์ผ์ต๋๋ค .
์์ธ๊ฐ ์์ผ๋ฉด ์ฝ๋๋ ๊ณํ๋๋ก ๊ณ์ ์คํ๋ฉ๋๋ค. catch ์ ์ง์ ๋ ์ ํ์ ์์ธ๊ฐ ์์ผ๋ฉด ์ฒ๋ฆฌํฉ๋๋ค.
- throw ์ instanceof๋ ๋ฌด์์ ์๋ฏธํฉ๋๊น? - ์ผ์ชฝ์ ๋ง์ง๋ง ์ค์ ๋ณด๋ฉด
์๋ก์ด RuntimeException(s)์ด ๋ฐ์ํฉ๋๋ค.. ์ด๋ฐ ์์ผ๋ก ์ฐ๋ฆฌ๋ ์์ธ๋ฅผ ๋ง๋ค๊ณ ๋์ง๋๋ค. ์ด๊ฒ์ ๋จ์ง ์์ผ ๋ฟ์
๋๋ค. ์ฐ๋ฆฌ๋ ์ง๊ธ๊น์ง ๊ทธ๊ฒ์ ํ์ง ์์ ๊ฒ์
๋๋ค. - ์ค๋ฅธ์ชฝ ๋ธ๋ก์์ ยซ
ะฐ instanceof B ยป ๋ช
๋ น์ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด
a๊ฐ B ์ ํ์ธ์ง ํ์ธํฉ๋๋ค . ์ฆ,
๋ณ์ exception์ ์ ์ฅ๋ ๊ฐ์ฒด๊ฐ RuntimeException ์ ํ์ธ์ง ์ฌ๋ถ์
๋๋ค . ๋
ผ๋ฆฌ์ ์ธ ํํ์
๋๋ค.
- ์, ์กฐ๊ธ ๋ ๋ช
ํํด์ง๊ณ ์์ต๋๋ค.
6 ๋์๊ณ , ์์ธ ์บ์น ํ์คํฌ
- ์ด๋ด! ๋์๊ณ ์ผ์ด์ ๋น์ ์ ์ํด ๋์์ ๋ํ ๋ช ๊ฐ์ง ์์
์ ๊ฐ์ ธ์์ต๋๋ค. ํ์ด์ ๋น์ด ์. ํ์ํ์ค ๊ฒ ๊ฐ์์. ใ
.
![์ด์ ๋ ๋ฒจ 09 - 15]()
- ์ด๋ด, ์๋ฏธ๊ณ ! ๋ค์์ ๋ช ๊ฐ์ง ํฅ๋ฏธ๋ก์ด ์์ธ catch ์์
์
๋๋ค.
์ก๊ธฐ ์์
|
1 |
1. ์ซ์๋ก ์ฐ์ฐํ ๋์
์์ธ ์ฝ๋๋ฅผ ์คํํ ๋ ๋ฐ์ํ๋ ์์ธ๋ฅผ ์ก์๋ผ: int a = 42 / 0;
์ ํ์ ์ง์ ํ์ฌ ์์ธ๋ฅผ ํ๋ฉด์ ํ์ํฉ๋๋ค. |
2 |
2. ๋ฌธ์์ด๋ก ๋์ํ ๋์
์์ธ ์ฝ๋๋ฅผ ์คํํ ๋ ๋ฐ์ํ๋ ์์ธ๋ฅผ ์ก์๋ผ: String s = null; String m = s.toLowerCase();
์ ํ์ ์ง์ ํ์ฌ ํ๋ฉด์ ์์ธ๋ฅผ ํ์ํฉ๋๋ค. |
์ผ |
3. ๋ฐฐ์ด๋ก ์๋ํ ๋์
์์ธ ์ฝ๋๋ฅผ ์คํํ ๋ ๋ฐ์ํ๋ ์์ธ๋ฅผ ํฌ์ฐฉํฉ๋๋ค. int[] m = new int[2]; m[8] = 5;
์ ํ์ ์ง์ ํ์ฌ ํ๋ฉด์ ์์ธ๋ฅผ ํ์ํฉ๋๋ค. |
4 |
4. ๋ชฉ๋ก ์ปฌ๋ ์
์ผ๋ก ์์
์
์์ธ ์ฝ๋ ์คํ ์ ๋ฐ์ํ๋ ์์ธ๋ฅผ ํฌ์ฐฉํฉ๋๋ค. ArrayList<String> list = new ArrayList<String>(); ๋ฌธ์์ด s = list.get(18);
์ ํ์ ์ง์ ํ์ฌ ํ๋ฉด์ ์์ธ๋ฅผ ํ์ํฉ๋๋ค. |
5 |
5. Map ์ปฌ๋ ์
์ผ๋ก ์์
์
์์ธ ์ฝ๋ ์คํ ์ ๋ฐ์ํ๋ ์์ธ๋ฅผ ํฌ์ฐฉํฉ๋๋ค. HashMap<String, String> map = new HashMap<String, String>(null); map.put(null, null); map.remove(null);
์ ํ์ ์ง์ ํ์ฌ ํ๋ฉด์ ์์ธ๋ฅผ ํ์ํฉ๋๋ค. |
- ํ: ๋จผ์ ํ๋ก๊ทธ๋จ์ ์์ฑํ ๋ค์ ์ด๋ค ์์ธ๊ฐ ๋ฐ์ํ๋์ง ํ์ธํ ๋ค์ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ๊ณ ํด๋น ์์ธ๋ฅผ ํฌ์ฐฉํ์ญ์์ค.
7 Risha, ๋ค์ค ์บ์น๊ฐ ์๋ํ๋ ๋ฐฉ์
![์ด์ ๋ ๋ฒจ 09 - 16]()
- ์ด์ ์ข ๋ ํฅ๋ฏธ๋ก์ด ๊ฐ์๊ฐ ์์ต๋๋ค. ๋๋ ๊ฐ๋ฅด์น๋ ๊ฒ์ ๋๋ฌด ์ข์ํฉ๋๋ค.
- ๋ค์ค ์บ์น๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ์๋ ค์ฃผ๊ณ ์ถ์ต๋๋ค .
์ค์ ๋ก๋ ๋งค์ฐ ๊ฐ๋จํฉ๋๋ค. try ๋ธ๋ก์์ ์์ธ๊ฐ ๋ฐ์ํ๋ฉด ํ๋ก๊ทธ๋จ ์คํ์ด ์ฒซ ๋ฒ์งธ
catch ๋ก ์ ์ก๋ฉ๋๋ค . -
๋ธ๋ก catch์ ๊ดํธ ์์ ์ง์ ๋ ์ ํ์ด ์์ธ ๊ฐ์ฒด์ ์ ํ๊ณผ ๋์ผํ ๊ฒฝ์ฐ {} ๋ด์์ ์ฝ๋ ์คํ์ด ์์๋ฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ค์
catch ๋ก ์ด๋ํฉ๋๋ค . ๊ทธ๊ณณ์์ ํ์ธ์ด ๋ฐ๋ณต๋ฉ๋๋ค.
- ๋ ์ด์ catch ๋ธ๋ก์ด ์์ง๋ง ์์ธ๊ฐ catch๋์ง ์์ ๊ฒฝ์ฐ ์์ผ๋ก ๋์ ธ์ง๊ณ ํ์ฌ ๋ฉ์๋๊ฐ ์ค๋จ๋ฉ๋๋ค.
- ์๊ฒ ์ด์. ํด๋น ์ ํ์ด ์์ธ ์ ํ๊ณผ ์ผ์นํ๋ catch๊ฐ ์คํ๋ฉ๋๋ค. - ๋ค, ๊ทธ๋ฌ์ฃ . ์ค์ ๋ก๋ ์ข ๋ ๋ณต์กํฉ๋๋ค. ์์ ์ ํด๋์ค๊ฐ ์๋ก ์์๋ ์ ์๋ค๋ ๊ฒ์
๋๋ค. ยซCowยป ํด๋์ค๊ฐ ยซAnimalยป ํด๋์ค์์ ์์๋ ๊ฒฝ์ฐ ยซCowยป ์ ํ์ ๊ฐ์ฒด๋ ยซCowยป ์ ํ์ ๋ณ์๋ฟ๋ง ์๋๋ผ ยซAnimalยป ์ ํ์ ๋ณ์์๋ ์ ์ฅ๋ ์ ์์ต๋๋ค. .
- ๊ทธ๋์? - ๋ชจ๋ ์์ธ๋ ํด๋์ค Exception ๋๋ RuntimeException ( Exception ์์๋ ์์๋จ )์์ ์์๋๋ฏ๋ก ๋ชจ๋ catch(Exception e) ๋๋ catch(RuntimeException e) ๋ช
๋ น์ ์ฌ์ฉํ์ฌ ์ก์ ์ ์์ต๋๋ค . - ๊ทธ๋์? - ์ฆ,
์ฒซ์งธ, catch(Exception e) ๋ช
๋ น์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ์์ธ๋ฅผ ์ก์ ์ ์์ต๋๋ค .
๋์งธ, catch ๋ธ๋ก ์ ์์๊ฐ ์ค์ํฉ๋๋ค. ์: - 0์ผ๋ก ๋๋ ๊ฒฐ๊ณผ์ธ
ArithmeticException์ด ๋ ๋ฒ์งธ catch์์ ํฌ์ฐฉ๋์์ต๋๋ค.
![์ด์ ๋ ๋ฒจ 09 - 17]()
- ์๋ ์์์
ArithmeticException์ ๋ชจ๋ ์์ธ์ ํด๋์ค๊ฐ Exception์์ ์์๋๊ธฐ ๋๋ฌธ์ ์ฒซ ๋ฒ์งธ
catch ์์ catch๋ฉ๋๋ค. ๋ฐ๋ผ์
Exception์ ๋ชจ๋ ์์ธ๋ฅผ ํฌ์ฐฉํฉ๋๋ค .
![์ด์ ๋ ๋ฒจ 09 - 18]()
- ์๋ ์์ ์์
ArithmeticException ์์ธ๋ catch๋์ง ์๊ณ ํธ์ถ ๋ฉ์๋๋ก ์ ๋ฌ๋ฉ๋๋ค.
- ์ด์ ์ ์ ๋ช
ํํด์ง๊ณ ์์ต๋๋ค. ์ด๋ฌํ ์์ธ๋ ๊ทธ๋ ๊ฒ ์ฝ์ง ์์ต๋๋ค. - ๊ทธ๋ฅ ๊ทธ๋ฐ ๊ฒ ๊ฐ์ต๋๋ค. ์ฌ์ค ์๋ฐ์์ ๊ฐ์ฅ ๊ฐ๋จํ ๊ฒ ์ค ํ๋์
๋๋ค.
- ๊ธฐ๋ปํด์ผ ํ ์ง, ํ๋ฅผ ๋ด์ผ ํ ์ง ์ ๋งค...
8 ๋์๊ณ , ๋ค์ค ์์ธ catch ์์
- ์ด๋ด, ์๋ฏธ๊ณ ! ์ด์ ๋ด๊ฐ ์ ์ ์ทจํด ๋น์ ์ ์ผ์ ๋๋ฌด ๋ณต์กํ๊ฒ ๋ง๋ค์์ง๋ง, ๋น์ ์ด ํ๋ ๊ฐ์ ์์ด ๋ชจ๋ ์ ํด๊ฒฐํ์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค. ๊ทธ๊ฒ์ ๋น์ ์์ ์ ์ด์ต์ ์ํ ๊ฒ์
๋๋ค. ์ฌ๊ธฐ:
์์
|
1 |
1. ์์ธ Exception ์์ ์์๋ ๋ ๊ฐ์ง ์์ธ์ RuntimeException ์์ ์์๋ ๋ค๋ฅธ ๋ ๊ฐ์ง
์์ธ๋ฅผ ๋ฐ์์ํค๋ ๋ฉ์๋๊ฐ ์์ต๋๋ค : NullPointerException , ArithmeticException , FileNotFoundException ๋ฐ URISyntaxException . NullPointerException ๋ฐ FileNotFoundException ์ ํฌ์ฐฉํด์ผ ํ์ง๋ง ArithmeticException ๋ฐ URISyntaxException ์ ํฌ์ฐฉํ์ง ์์์ผ ํฉ๋๋ค . ๊ทธ๊ฒ์ํ๋ ๋ฐฉ๋ฒ?
|
2 |
2. ์์ธ ํฌ์ฐฉ Exception
์์ ์์ฐจ์ ์ผ๋ก ์์๋๋ ์ธ ๊ฐ์ง ์์ธ๊ฐ ์์ต๋๋ค . class Exception1 extends Exception class Exception2 extends Exception1 class Exception3 extends Exception2 ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. public static void method1() throws Exception1, Exception2, Exception3 Write a catch Exception1 , Exception2 ๋ฐ Exception3 ์ธ ๊ฐ์ง๋ฅผ ๋ชจ๋ catchํ๋ ๋ธ๋ก
|
์ผ |
3. ์ ๋ณ์ ์์ธ ํฌ์ฐฉ 1. BEAN.methodThrowExceptions
๋ฉ์๋์ ์ํด ๋ฐ์ํ ์์ธ๋ฅผ ์ฐพ์ผ์ญ์์ค . 2. processExceptions() ๋ฉ์๋๋ BEAN.methodThrowExceptions ๋ฉ์๋๋ฅผ ํธ์ถ ํ๊ณ ์์ธ๋ฅผ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค. 2.1. FileSystemException ์์ธ๊ฐ ๋ฐ์ํ๋ฉด BEAN.log ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ ๊ธฐ๋ก ํ๊ณ 2.2๋ฅผ ์ ๋ฌํฉ๋๋ค . ์์ธ CharConversionException ๋๋ ๊ธฐํ IOException์ด ๋ฐ์ํ๋ฉด BEAN.log ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ ๊ธฐ๋กํ์ญ์์ค. 3. 2.1์์ ์ ๋ฌํ๋ ค๋ ์์ธ์ ํด๋์ค/์ ํ์ ์ถ๊ฐํ์ญ์์ค. processExceptions() ์
๋ฉ์๋ ์๋ช
.
4. main() ๋ฉ์๋์์ ๋๋จธ์ง ์์ธ๋ฅผ ์ฒ๋ฆฌํ๊ณ ๊ธฐ๋กํฉ๋๋ค. try..catch ์ฌ์ฉ
ํ: ์ก๊ณ ์ถ์ง ์์ MyException
์์ธ๋ฅผ ์ก์ ๊ฒฝ์ฐ ๋ค์ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ์์ผ๋ก ๋์ง ์ ์์ต๋๋ค. catch (MyException e) { throw e; }
|
4 |
4. ์ฒดํฌ ์์ธ ์ก๊ธฐ processExceptions()
๋ฉ์๋์์ ๋ชจ๋ ์ฒดํฌ ์์ธ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค . ๋ฐ์ํ ๊ฐ ํ์ธ๋ ์์ธ๋ฅผ ํ๋ฉด์ ํ์ํด์ผ ํฉ๋๋ค. ํ๋์ ๋ธ๋ก try ๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค .
|
5 |
5. ํ์ธ๋์ง ์์ ์์ธ ์ก๊ธฐ processExceptions()
๋ฉ์๋์์ ๋ชจ๋ ํ์ธ๋์ง ์์ ์์ธ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค . printStack() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ํ ๊ฐ ์์ธ์ ์คํ ์ถ์ ์ ํ๋ฉด์ ํ์ํด์ผ ํฉ๋๋ค . ํ๋์ ๋ธ๋ก try ๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค .
|
9 ๊ต์, ์์ธ์ ๋ํ ๊ฐ์
- ์ค๋ ์ฐ๋ฆฌ๋ ๋งค์ฐ ํฅ๋ฏธ๋ก์ด ์ฃผ์ ์ธ ์์ธ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๋น์ ์ ์ ๊ณผํ์๋ค๊ณผ ํ๋ก๊ทธ๋๋จธ๋ค์ด ์ด ์ฃผ์ ์ ์ด๊ดํ๋ ์์ โฆ ๋ค์์ ๊ฐ์๋
ธํธ์
๋๋ค. ๋๋ ๋น์ ์ด ๊ทธ๊ฒ์ ์ค์ค๋ก ์์๋ผ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ฌ๊ธฐ:
Java ์์ธ(Oracle ์ค๋ช
์) Java์ ์์ธ ์ฒ๋ฆฌ(Java T ํฌ์ธํธ) Java - ์์ธ ์ฒ๋ฆฌ(ํํ ๋ฆฌ์ผ ํฌ์ธํธ) ๊ธฐ๋ณธ Java ์์ธ ์ฒ๋ฆฌ
10 ํ๋ฆฌ์ค
- ์๋ฏธ๊ณ , ์ค๋ ์์
์ด๋? ๋น์ ์ ์์ ์ ๋๋๊ฐ ์์ง ์๋ํ์ง ์์์ต๋๊น? ๋์๊ณ ์ ์๋ฌด๋ ๋๊ตฌ๋ผ๋ ์ง์น๊ฒ ํ๊ธฐ์ ์ถฉ๋ถํ๋ค. ์ ์ ๋งฅ์ฃผ๋ฅผ ๋ง์๋ฉฐ ํด์์ ์ทจํฉ์๋ค. ์์ง๋ ์ ์๋?
11 ๋ค๋์ฅ ์ ์ฅ
-์๋
ํ์ธ์, ๊ตฐ์ธ!
- ์ข์ ์์นจ์
๋๋ค! - ๋ฉ์ง ์์์ด ์์ต๋๋ค. ๋ค์์ ๊ธฐ์ ์ ๊ฐํํ๊ธฐ ์ํ ๋น ๋ฅธ ํ์ธ์
๋๋ค. ๋งค์ผ ํ์ธ์, ๊ทธ๋ฌ๋ฉด ๋น์ ์ ๊ธฐ์ ์ด ์ ๋ง ๋น ๋ฅด๊ฒ ํฅ์๋ ๊ฒ์
๋๋ค. ์์
์ Intellij IDEA์์ ์ํํ๋๋ก ํน๋ณํ ์ค๊ณ๋์์ต๋๋ค.
Intellij Idea์์ ์ํํ ์ถ๊ฐ ์์
|
1 |
1. 0์ผ๋ก ๋๋๊ธฐ ์์์ ์ซ์๋ฅผ 0์ผ๋ก ๋๋๊ณ ๋๋๊ธฐ ๊ฒฐ๊ณผ๋ฅผ ํ๋ฉด์ ํ์ํด์ผ ํ๋ public static void divisionByZero()
๋ฉ์๋๋ฅผ ๋ง๋ญ๋๋ค . divisionByZero() ๋ฉ์๋ ํธ์ถ์ try..catch ๋ก ๋ํํฉ๋๋ค . exception.printStackTrace() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์์ธ ์คํ ์ถ์ ์ ํ๋ฉด์ ํ์ํฉ๋๋ค .
|
2 |
2. 10์์ 0์ผ๋ก ์นด์ดํธ๋ค์ด
10์์ 0์ผ๋ก ์นด์ดํธ๋ค์ดํ๋ ๋ฃจํ๋ฅผ ์์ฑํฉ๋๋ค. Thread.sleep(100)์ ์ฌ์ฉํ์ฌ ์ง์ฐ์ ๋ง๋ญ๋๋ค. sleep ํธ์ถ์ try..catch ๋ก
๋ํํฉ๋๋ค . |
์ผ |
3. ๋ฉ์๋๋ฅผ try..catch๋ก ๋ํํฉ๋๋ค.
ํค๋ณด๋์์ ์ซ์๋ฅผ ์ฝ์ต๋๋ค. ํค๋ณด๋์์ ์ซ์๋ฅผ ์ฝ๋ ์ฝ๋๋ฅผ ๋ณ๋์ ๋ฉ์๋ readData() ์ ์์ฑํฉ๋๋ค .
์ด ๋ฉ์๋์ ์ ์ฒด ๋ณธ๋ฌธ( ์ซ์๊ฐ ์ ์ฅ๋ ๋ชฉ๋ก ์ ์ธ์ ์ ์ธํ readData() ๋ฉ์๋ ๋ด์ ์ ์ฒด ์ฝ๋)์ try..catch ๋ก ๋ํํฉ๋๋ค .
์ฌ์ฉ์๊ฐ ์ซ์๋ฅผ ์
๋ ฅํ๋ ๋์ ํ
์คํธ๋ฅผ ์
๋ ฅํ๋ฉด ๋ฉ์๋๋ ์์ธ๋ฅผ ํฌ์ฐฉํ๊ณ ์ด์ ์ ์
๋ ฅํ ๋ชจ๋ ์ซ์๋ฅผ ํ๋ฉด์ ํ์ํด์ผ ํฉ๋๋ค.
ํ๋ฉด์ ์ซ์๋ฅผ ํ์ํฉ๋๋ค. ๊ฐ ๋ฒํธ๋ ์ ์ค์ ์์ด์ผ ํฉ๋๋ค. ์ซ์์ ์์๋ ์
๋ ฅํ ๋์ ๊ฐ์์ผ ํฉ๋๋ค. |
4 |
4. ๋ ์ง ๋ณํ๊ธฐ
ํค๋ณด๋์์ ยซ08/18/2013ยป ํ์์ ๋ ์ง๋ฅผ ์ฝ์ต๋๋ค.
ยซ2013๋
8์ 18์ผยป ํ์์ผ๋ก ํด๋น ๋ ์ง๋ฅผ ํ๋ฉด์ ํ์ํฉ๋๋ค. Date ๋ฐ SimpleDateFormat
๊ฐ์ฒด๋ฅผ ์ฌ์ฉํฉ๋๋ค . |
5 |
5. ๋ชจ์๊ณผ ์์
ํค๋ณด๋์์ ์ค์ ์ฝ์ด์ฃผ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
ํ๋ก๊ทธ๋จ์ ํ๋ฉด์ ๋ ๊ฐ์ ๋ฌธ์์ด์ ํ์ํด์ผ ํฉ๋๋ค.
1) ์ฒซ ๋ฒ์งธ ๋ฌธ์์ด์๋ ๋ชจ์์ด ํฌํจ๋์ด์ผ ํฉ๋๋ค.
2) ๋ ๋ฒ์งธ ๋ฌธ์์ด์๋ ์
๋ ฅ๋ ํ
์คํธ์ ์์ ๋ฐ ๊ตฌ๋์ ๋ฌธ์๊ฐ ํฌํจ๋์ด์ผ ํฉ๋๋ค.
๊ณต๋ฐฑ์ผ๋ก ๋ฌธ์๋ฅผ ๊ตฌ๋ถํฉ๋๋ค.
์
๋ ฅ ์: Stop look listen ์ถ๋ ฅ ์: oooie
stplklstn |
6 |
6. ๋นจ๊ฐ๋ชจ์์ ์ด์ผ๊ธฐ
1. ๋นจ๊ฐ๋ชจ์, ํ ๋จธ๋, ํจํฐ, ๋๋ฌด๊พผ, ๋๋์ 5๊ฐ์ง ํด๋์ค๊ฐ ์์ต๋๋ค.
2. ๊ฐ ํด๋์ค์๋ ๋ ๊ฐ์ ArrayList ์ ํ ํ๋์ธ kill ๋ฐ ate๊ฐ ์์ต๋๋ค.
3. ํ์ํ ๊ฐ์ฒด๊ฐ ์ด๋ฏธ ์์ฑ๋์ด ์์ต๋๋ค(ํ๋, ํ ๋จธ๋, ...).
4. "๋นจ๊ฐ ๋ชจ์"์ ๋
ผ๋ฆฌ๋ฅผ ์ป๊ธฐ ์ํด ์ฌ๋ฐ๋ฅธ ๊ด๊ณ(๋๊ฐ ๋๊ตฌ๋ฅผ ๋จน๊ณ ์ฃฝ์๋๊ฐ)๋ฅผ ๋ง๋์ญ์์ค. |
7 |
7. ์ ์ ์์ ์ด๋
์ ์ ์์ ์๋ฅผ ์ด๋ํ์ฌ ์ฝ๋๊ฐ ์ปดํ์ผ๋๋๋ก ํฉ๋๋ค. |
8 |
8. ์ซ์ ๋ฐฐ์ด ๋ชฉ๋ก
์์๊ฐ ์ซ์ ๋ฐฐ์ด์ธ ๋ชฉ๋ก์ ๋ง๋ญ๋๋ค. ๊ธธ์ด๊ฐ ๊ฐ๊ฐ 5, 2, 4, 7, 0์ธ 5๊ฐ์ ๊ฐ์ฒด ๋ฐฐ์ด์ ๋ชฉ๋ก์ ์ถ๊ฐํฉ๋๋ค. ๋ฐ์ดํฐ๋ก ๋ฐฐ์ด์ ์ฑ์ฐ๊ณ ํ๋ฉด์ ํ์ํฉ๋๋ค. |
9 |
9. ๊ณ ์์ด 10๋ง๋ฆฌ String name ํ๋๊ฐ ์๋ Cat ํด๋์ค๋ฅผ
๋ง๋ญ๋๋ค . Map<String, Cat> ์ฌ์ ์ ๋ง๋ค๊ณ ยซNameยป - ยซCatยป ๋ชจ๋ธ์ ๊ณ ์์ด 10๋ง๋ฆฌ๋ฅผ ์ถ๊ฐํฉ๋๋ค. ๋งต ์์ ์ด๋ฆ ์งํฉ์ ๊ฐ์ ธ์ค๊ณ ํ๋ฉด ์ ์งํฉ์ ํ์ํฉ๋๋ค.
|
- ๊ทธ ์๋ฌด๋ ๊ทธ๋ฆฐ์ ์ํ ๊ฒ์ด์๋ค. ๋ ๋ณต์กํ ๋ณด๋์ค ์์
์ ์ถ๊ฐํ์ต๋๋ค. ํ๊ฑด ์ ์ฉ.
๋ณด๋์ค ์์
|
1 |
1. ํ๋ก๊ทธ๋จ์ด ์ปดํ์ผ ๋ฐ ์คํ๋์ง ์์ต๋๋ค. ๊ณ ์ณ. ์์
: ํ๋ก๊ทธ๋จ์ ํค๋ณด๋์์ ๋ ๊ฐ์ ํ์ผ ์ด๋ฆ์ ์ฝ๊ณ ์ฒซ ๋ฒ์งธ ํ์ผ์ ๋ ๋ฒ์งธ ์ด๋ฆ์ผ๋ก ์ง์ ๋ ์์น์ ๋ณต์ฌํด์ผ ํฉ๋๋ค. |
2 |
2. ํ๋ก๊ทธ๋จ์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํฉ๋๋ค. ์ด์ ์์
: ํ๋ก๊ทธ๋จ์ ํค๋ณด๋์์ ๋ ๊ฐ์ ํ์ผ ์ด๋ฆ์ ์ฝ๊ณ ์ฒซ ๋ฒ์งธ ํ์ผ์ ๋ ๋ฒ์งธ ์ด๋ฆ์ผ๋ก ์ง์ ๋ ์์น์ ๋ณต์ฌํด์ผ ํฉ๋๋ค. ์ ์์
: ํ๋ก๊ทธ๋จ์ ํค๋ณด๋์์ ๋ ๊ฐ์ ํ์ผ ์ด๋ฆ์ ์ฝ๊ณ ์ฒซ ๋ฒ์งธ ํ์ผ์ ๋ ๋ฒ์งธ ์ด๋ฆ์ผ๋ก ์ง์ ๋ ์์น์ ๋ณต์ฌํด์ผ ํฉ๋๋ค.
์ง์ ๋ ์ด๋ฆ์ ๊ฐ์ง ํ์ผ(๋ณต์ฌํ ํ์ผ)์ด ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ ํ๋ก๊ทธ๋จ์ ยซํ์ผ์ด ์กด์ฌํ์ง ์์ต๋๋คยป๋ผ๋ ๋ฉ์์ง๋ฅผ ํ๋ฉด์ ํ์ํ๊ณ ํ์ผ์ ์ฝ๊ธฐ ์ ์ ์ฝ์์์ ํ์ผ ์ด๋ฆ ์ฝ๊ธฐ๋ฅผ ๋ค์ ์๋ํด์ผ ํฉ๋๋ค. ๋ ๋ฒ์งธ(๋์) ํ์ผ์ ์ด๋ฆ์
๋๋ค. |
์ผ |
3. ์๊ณ ๋ฆฌ์ฆ ํ์ต ๋ฐ ์ค์ต.
ํค๋ณด๋์์ ๋จ์ด ๋ฐ ์ซ์ ๋ชฉ๋ก์ ์ฝ์ต๋๋ค. ๋จ์ด๋ ์ค๋ฆ์ฐจ์์ผ๋ก, ์ซ์๋ ๋ด๋ฆผ์ฐจ์์ผ๋ก ํ๋ฉด์ ํ์ํฉ๋๋ค.
์
๋ ฅ ์: Cherry
1
Bean
3
Apple
2
0
Watermelon
์ถ๋ ฅ ์: Apple
3
Bean
2
Cherry
1
0
Watermelon
|
GO TO FULL VERSION