์๋ฐ ์ฌํ JAVA2, ๋ ธ๋์ง 4์ฃผ ๊ณผ์ ์ ๋ฆฌ: ์ ๋ค๋ฆญ·์ปฌ๋ ์ ·I/O·์ค๋ ๋·๋๋ค ์ฃผ์ฐจ๋ณ ์ปค๋ฆฌํ๋ผ๊ณผ ์ ์ฒญ ๋ฐฉ๋ฒ (KG์์ดํฐ๋ฑ ํฌ)

๋ณ์ยท์กฐ๊ฑด๋ฌธยทํด๋์คยท์์๊น์ง๋ ๋ฐฐ์ ๋๋ฐ, ๊ทธ๋ค์ ๋ฌด์์ ํด์ผ ํ ์ง ๋ง๋งํ๋ค๋ฉด JAVA2๊ฐ ๋ค์ ๋จ๊ณ์์. KG์์ดํฐ๋ฑ ํฌ ๋ ธ๋์ง ๊ฐ์์ฅ์์ ์งํํ๋ JAVA2๋ IO, Thread, API๋ก ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ๋ฒ์ ํ ๋ฌ ๋์ ๋ค๋ฃจ๋ ์๋ฐ ์ฌํ ๋จ๊ณผ์์.
์๋ด: ์ด ๊ธ์ KG์์ดํฐ๋ฑ ํฌ ์์ฌ ๊ณผ์ ์๊ฐ๋ฅผ ๋ด๊ณ ์์ด์.
๐ JAVA2 ์์ฝ
- ๋ด์ฉ: ๊ธฐ๋ณธ ํด๋์ค, ์ ๋ค๋ฆญ, ์ปฌ๋ ์ , I/O Stream, Thread ๋๊ธฐํ, ๋๋ค
- ๊ธฐ๊ฐ: 1๊ฐ์(4์ฃผ) ยท ํ์ผ ์~๋ชฉ ๋๋ ์ฃผ๋ง ํ ยท์ผ
- ์ ์ฒญ: ์๋ด โ ์๊ฐ ๊ณํ โ ๋ฉ๋ถยท๋ฑ๋ก โ ์์ ์์
์ด๋ฐ ๋ถ๊ป ๋ง์์
JAVA2๋ ์๋ฐ ๊ธฐ์ด ๋ฌธ๋ฒ์ ํ ๋ฒ ๊ฑฐ์น ์ฌ๋์ ์ํ ์ฌํ ๊ณผ์ ์ด์์. ๊ณต์ ์๊ฐ์๋ ์๋ฐ์ ๊ฐ๋ ยท๊ธฐ๋ฅ์ ๋ค์ง ๋ค IOยทThreadยทAPI๋ก ์์ฉ ์ฑ์ ๋ง๋๋ ๋ฒ์ ์ตํ๋ค๊ณ ์ ํ ์์ด์.
๊ณผ์ ํ์ด์ง์ ์ ์ ๊ณผ๋ชฉ ํ์ ์กฐ๊ฑด์ ๋ฐ๋ก ํ๊ธฐ๋ผ ์์ง ์์์. ์ง๊ธ ์ค๋ ฅ์ผ๋ก ๋ฐ๋ก ๋ค์ด๊ฐ๋ ๋ ์ง๋ ์๋ด์์ ํจ๊ป ํ๋จํด์.
๊ธฐ๊ฐ๊ณผ ์์ผ

| ๋ฐ | ์์ผ |
|---|---|
| ํ์ผ๋ฐ | ์ยทํยท์ยท๋ชฉ, ์ฃผ 4ํ |
| ์ฃผ๋ง๋ฐ | ํ ยท์ผ, ์ฃผ 2ํ |
ํ์ผ์ ํ๊ตยทํ์ฌ ์ผ์ ์ด ๋ชฐ๋ ค ์๋ค๋ฉด ์ฃผ๋ง๋ฐ์ด ๋ถ๋ด์ด ๋ํด์. ์์ ์์ยท์ข ๋ฃ ์๊ฐ์ ๊ณต์ง๋ผ ์์ง ์์ผ๋, ๊ฐ๊น์ด ๊ฐ๊ฐ์ผยท์์ฌ์ยท์๊ฐํ๋ 1661-1284๋ก ํ์ธํด ์ฃผ์ธ์.
4์ฃผ ์ฃผ์ฐจ๋ณ ์ปค๋ฆฌํ๋ผ
ํฐ ์ฃผ์ 6๊ฐ, ์์ฃผ์ 29๊ฐ๋ก ๊ตฌ์ฑ๋ผ ์์ด์.

| ์ฃผ์ฐจ | ์ฃผ์ | ์ฃผ์ ๋ด์ฉ |
|---|---|---|
| 1์ฃผ์ฐจ | ์๋ฐ์ ๊ธฐ๋ณธ ํด๋์ค | Wrapper ํด๋์ค, ์คํ ๋ฐ์ฑยท์ธ๋ฐ์ฑ, ํฐ ์ ์ยท์ค์ฐจ ์๋ ์ค์ ํํ ํด๋์ค, Arrays ๋ณต์ฌยท์ ๋ ฌยทํ์ |
| 2์ฃผ์ฐจ | ์ ๋ค๋ฆญ ํ๋ก๊ทธ๋๋ฐ | ์ ๋ค๋ฆญ ํด๋์คยท๋ฉ์๋ ์ ์, ํ์ ์ธ์ ์ ํ, ์ ๋ค๋ฆญ ์์๊ณผ ์ธํฐํ์ด์ค |
| 2์ฃผ์ฐจ | ์ปฌ๋ ์ ํ๋ ์์ํฌ | List, Stack, Queue, Set, Map ์ธํฐํ์ด์ค, ์ปฌ๋ ์ ๊ธฐ๋ฐ ์๊ณ ๋ฆฌ์ฆ |
| 3์ฃผ์ฐจ | I/O Stream | ์ ์ถ๋ ฅ ์คํธ๋ฆผ, ํํฐ ์คํธ๋ฆผ๊ณผ flush, FileReaderยทBufferedWriter, ObjectInputStream ๊ฐ์ฒด ์ ์ฅ |
| 4์ฃผ์ฐจ | Thread์ ๋๊ธฐํ | ์ค๋ ๋ ์์ฑ, ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ๋ฌธ์ , synchronizedยทwaitยทnotifyยทReentrantLock |
| 4์ฃผ์ฐจ | Nested ํด๋์ค์ Lambda | InnerยทLocalยทAnonymous ํด๋์ค, ๋๋ค์, ํจ์ํ ์ธํฐํ์ด์ค |
2์ฃผ์ฐจ์ 4์ฃผ์ฐจ๋ ์ฃผ์ ๊ฐ ๋ ๊ฐ์ฉ์ด๋ผ ์ง๋๊ฐ ์ด์ดํ ํธ์ด์์. ์์ฃผ์ ์ ์ฒด ๋ชฉ๋ก์ ๊ณผ์ ํ์ด์ง ํ์์ ๋ณผ ์ ์์ด์.
์ ์ปฌ๋ ์ ยท์ค๋ ๋ยท๋๋ค๋ฅผ ๋ฐ๋ก ๋ฐฐ์ธ๊น์?
์นยท์๋ฒ ์ฝ๋๋ฅผ ์ฝ๋ค ๋ณด๋ฉด ListยทMap, ์ค๋ ๋ ์ฒ๋ฆฌ, ๋๋ค์์ด ๊ณ์ ๋ฑ์ฅํ๊ธฐ ๋๋ฌธ์ด์์. ๋ฐ์ดํฐ๋ฅผ ๋ด๋ ๊ทธ๋ฆ(์ปฌ๋ ์ ), ํ์ผ์ ์ฝ๊ณ ์ฐ๋ ํต๋ก(I/O), ์ฌ๋ฌ ์์ ์ ๋์์ ๋๋ฆฌ๋ ๋ฐฉ๋ฒ(Thread)์ ํ ๊ณผ์ ์ ๋ชจ์ ๋ ์ด์ ์์. ๋ฌธ๋ฒ ์ฑ ์๋ถ๋ถ๋ง ๋ฐ๋ณตํ๋ค ๋ฉ์ท๋ค๋ฉด, ์ด ๊ตฌ๊ฐ์ด ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ๋ ๊ด๋ฌธ์ด์์.
ํ์ต๋ชฉํ
- Java ๊ธฐ๋ณธ ํด๋์ค์ ๊ธฐ๋ฅ ์ดํด
- ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ถ, ๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์ ยท์ฐ์ฐยทํ์ค ์ ์ถ๋ ฅ ํจ์ ํ์ฉ
- IO, Thread, API๋ก ๋ค์ํ ์์ฉ ์ฑ ๋ง๋๋ ๋ฐฉ๋ฒ ์ตํ๊ธฐ
2๋ฒ์ฒ๋ผ ๊ธฐ์ด๋ฅผ ๋ค์ ์ง๋ ํญ๋ชฉ๋ ์์ด์, ๊ณต๋ฐฑ๊ธฐ๊ฐ ์์๋ ๋ถ๋ ํ๋ฆ์ ๋์ฐพ๊ธฐ ์ข์์.
JAVA1 โ JAVA2 โ ๊ทธ๋ค์์?
๊ฐ์ ๋ถ์ผ ๋ชฉ๋ก์๋ JSP ์น ๊ณผ์ ๊ณผ ์คํ๋ง ๊ณผ๋ชฉ์ด ์ด์ด์ ธ ์์ด์. JAVA2 ํ์ด์ง ํ๋จ์๋ ๊ด๋ จ ๊ณผ์ ์ผ๋ก JSP๊ฐ ์๊ฐ๋ผ ์๋๋ฐ, MVC ํจํด์ผ๋ก ์น ํ๋ก๊ทธ๋จ ์๋ฆฌ๋ฅผ ์ตํ๊ณ ๊ฒ์ํ์ ๋ง๋ค์ด ๋ณด๋ ๊ณผ์ ์ด์์. ์น ์๋ฒ ๊ฐ๋ฐ์ด ๋ชฉํ๋ผ๋ฉด JAVA2๊ฐ ์ค๊ฐ ๋ค๋ฆฌ ์ญํ ์ ํด์. ์ด๋๊น์ง ์ด์ด ๋ค์์ง๋ 1:1 ์ปจ์คํ ์์ ๊ฐ์ธ ์ผ์ ์ ๋ง์ถฐ ์ ํ๋ฉด ๋ผ์.
์๊ฐ ์ ์ฒญ 4๋จ๊ณ
- STEP1 ์จ๋ผ์ธ ๋๋ ๋ฐฉ๋ฌธ 1:1 ๊ต์ก์ปจ์คํ
- STEP2 ๋์๊ฒ ๋ง๋ ์๊ฐ ๊ณํ ์ธ์ฐ๊ธฐ
- STEP3 ๋น์ฉ ๋ฉ๋ถ์ ๋ฑ๋ก
- STEP4 ์์ ์์
๊ณผ์ ํ์ด์ง์ ๋น ๋ฅธ ์๋ด ์์ฝ ์นธ์์ ์ํ๋ ์๋ด ์๊ฐ๋๋ฅผ ๋จ๊ธธ ์ ์์ด์. ๊ต์ก๋น๋ ํ์ด์ง์ ํ์๋ผ ์์ง ์์ผ๋ STEP1 ์๋ด์์ ํ์ฌ ๊ธ์ก์ ํ์ธํ์ธ์.
๊ตญ๋น์ง์์ด ๋๋์?
JAVA2 ์๋ด์๋ ๊ตญ๋น ํ๊ธฐ๊ฐ ์๊ณ , ์๊ฐ์์ด ๊ต์ก๋น๋ฅผ ๋ด๋ ์ ๊ท ๊ณผ๋ชฉ์ด์์. ๋ช ๋ฌ์ง๋ฆฌ ๊ตญ๋น ๊ฐ๋ฐ์ ์ทจ์ ๊ณผ์ ์ ์ฐพ๋๋ค๋ฉด ์๋ด ๋ ๋ณ๋ ๊ณผ์ ์ ๋ฌธ์ํ๋ ํธ์ด ์ ํํด์.
๊ฐ์์ฅ ์์น
๋์๊ตฌ ์ฅ์น๋ฐฐ๊ธฐ๋ก 171 ์์ด๋น๋น๋ฉ 3์ธต ๊ฐ์์ฅ์ด์์. 1ยท9ํธ์ ๋ ธ๋์ง์ญ 5๋ฒ ์ถ๊ตฌ๊ฐ ๊ฐ์ฅ ๊ฐ๊น์์. ๊ณผ์ ํ์ด์ง์ ์๋ด๋ฐ์คํฌยท๊ฐ์์ฅยท์๋ด์คยทํด๊ฒ์ค ์์ค ์ฌ์ง๋ ํจ๊ป ์์ด์.
ํ ์ฅ ์์ฝ

| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ๊ณผ์ | JAVA2 (ํ๋ก๊ทธ๋๋ฐ ๋ถ์ผ ๋จ๊ณผ) |
| ์ฑ๊ฒฉ | ์๋ฐ ์ฌํ(์์ฉ ์ ํ๋ฆฌ์ผ์ด์ ) |
| ๊ธฐ๊ฐ | 1๊ฐ์, ์ฃผ์ 6๊ฐยท์์ฃผ์ 29๊ฐ |
| ๋ฐ | ํ์ผ(์ยทํยท์ยท๋ชฉ) ๋๋ ์ฃผ๋ง(ํ ยท์ผ) |
| ํต์ฌ | ์ ๋ค๋ฆญยท์ปฌ๋ ์ ยทI/OยทThreadยท๋๋ค |
| ๋ค์ ๋จ๊ณ | JSPยท์คํ๋ง |
| ํํ | ๊ต์ก๋น ๋ฉ๋ถํ ๋จ๊ณผ |
| ๋ฌธ์ | 1661-1284 |
๊ต์ก๋นยท์๊ฐํยท๊ฐ๊ฐ์ผยท์ ์์ ์๋ด์ ๋์ ์์ง ์์ผ๋ ์๋ด์์ ํ์ธํด ์ฃผ์ธ์.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
Q. JAVA1์ ๋ฃ์ง ์์๋ JAVA2๋ฅผ ์ ์ฒญํ ์ ์๋์? ์ ์ ๊ณผ๋ชฉ ์กฐ๊ฑด์ ํ๊ธฐ๋ผ ์์ง ์์์. ํด๋์คยท์์์ ์ดํดํ๊ณ ์๋์ง ์ปจ์คํ ์์ ์ ๊ฒํ ๋ค ์์๋ฅผ ์ ํด์.
Q. ์ค๋ ๋ ๋๊ธฐํ๊น์ง ๋ฐฐ์ฐ๋์? ๋ค, 4์ฃผ์ฐจ์ ์ค๋ ๋ ์์ฑ๊ณผ ๋๊ธฐํ(synchronized, waitยทnotify, ReentrantLock)๊ฐ ํฌํจ๋ผ ์์ด์.
Q. ๋๋ค์๊ณผ ํจ์ํ ์ธํฐํ์ด์ค๋ ๋ค๋ฃจ๋์? 4์ฃผ์ฐจ ๋ง์ง๋ง ์ฃผ์ ๊ฐ Nested ํด๋์ค์ Lambda์์. ๋๋ค์๊ณผ ์ ๋ค๋ฆญ์ ํจ๊ป ์ฐ๋ ๋ถ๋ถ๋ ์์ฃผ์ ์ ์์ด์.
Q. ์ฃผ๋ง๋ฐ๋ 4์ฃผ ์ง๋๋ฅผ ๋ค ๋๊ฐ๋์? ์ฃผ๋ง๋ฐ๋ ๊ฐ์ 1๊ฐ์ ๊ณผ์ ์ผ๋ก ์๋ด๋ผ์. ํ๋ฃจ ์์ ๋ถ๋์ ์ ํ ์๋ด์์ ํ์ธํ์ธ์.
Q. ๋ค์ ๊ฐ๊ฐ์ผ์ ์ธ์ ์์? ๊ณต์ง์๋ ์์ด์. ์ ํ๋ ๋น ๋ฅธ ์๋ด ์์ฝ์ผ๋ก ๊ฐ์ฅ ๊ฐ๊น์ด ์ผ์ ์ ๋ฐ์ ๋ณด์ธ์.
์๋ด ์ ์ฒญ

์๋ด ๋๋ ์ง๊ธ๊น์ง ๋ฐฐ์ด ์๋ฐ ๋ฒ์์ ์ํ๋ ์์ผ๋ง ์๋ ค ์ฃผ๋ฉด ์ถฉ๋ถํด์.
๐ JAVA2 ๊ณผ์ ํ์ด์งยท๋น ๋ฅธ ์๋ด ์์ฝ ๐ 1661-1284
์ถ์ฒ: KG์์ดํฐ๋ฑ ํฌ ๊ณต์ JAVA2 ๊ณผ์ ํ์ด์ง (2026-10-30 ํ์ธ)