TIL
๐
์๋ฐ ๊ณต๋ถ
- 388p - 491p ๊ณต๋ถ (๋ฉด์ ์ฉ ๋ณต์ต์ค์
๋๋ค. ํ๊ดํ ์น ๋ถ๋ถ๋ง ๋ค์ ์ ์ด๋ด
๋๋ค)
- ์ ๋ค๋ฆญ(Generic)
- ์ ๋ค๋ฆญ ํ์
T๋ ์ต์์ ํด๋์ค์ธ Object ํด๋์ค๋ก ๋ณํ๋์ด์ ๋์ํจ (
T extends A
ํ๋ฉด Object๊ฐ ์๋๋ผ A ์ธํฐํ์ด์ค ์์๋ฐ์ ์ฌ์ฉ ๊ฐ๋ฅ)
- ์ ๋ค๋ฆญ ํ์
T๋ ์ต์์ ํด๋์ค์ธ Object ํด๋์ค๋ก ๋ณํ๋์ด์ ๋์ํจ (
- Wrapper ํด๋์ค
- Collection Framework
- ArrayList์ Vector์ ๊ฐ์ฅ ํฐ ์ฐจ์ด๋ ๋๊ธฐํ ์ง์ ์ฌ๋ถ
- Vector์ ๋๊ธฐํ๋ ์ด๋ป๊ฒ ๊ตฌํ๋๋๊ฐ? ๋์์ ์์ ์ด ์ด๋ฃจ์ด์ง๋ ์์ ์ ๋ํ lock์ ์ํํ๋ค. ์ฆ ํน์ ์ค๋ ๋์์ ๋ฉ์๋๋ฅผ ํธ์ถํ ๋์ ๋ฐฐ์ด ๊ฐ์ฒด์ ์ ๊ธ์ ํด์ฃผ๊ณ , ๋ฉ์๋ ์ํ์ด ๋๋๋ฉด ์ ๊ธ์ ํด์ ํด์ค๋๋ค.
- ์ด๋ก ์ธํด Vector์ ๋ชจ๋ ๋ฉ์๋๋ ํธ์ถ๋ ๋๋ง๋ค ์ ๊ธ๊ณผ ํด์ ๊ฐ ์ผ์ด๋๋ฏ๋ก ArrayList๋ณด๋ค ์ํ ์๋๊ฐ ๋๋ ค์ง๋๋ค.
- ๋ด๋ถ ํด๋์ค
- Runnable ์ธํฐํ์ด์ค : ์๋ฐ์์ ์ค๋ ๋๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉํ๋ ์ธํฐํ์ด์ค๋ก, ์ค๋ ๋ ๊ตฌํ ์์๋ ํด๋น ์ธํฐํ์ด์ค๋ฅผ implementsํ์ฌ ๊ตฌํํ๊ฒ ๋ฉ๋๋ค. ์ด ์ค
run()
๋ฉ์๋๋ฅผ ๋ฐ๋์ ๊ตฌํํด์ผ ํจ.
- Runnable ์ธํฐํ์ด์ค : ์๋ฐ์์ ์ค๋ ๋๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉํ๋ ์ธํฐํ์ด์ค๋ก, ์ค๋ ๋ ๊ตฌํ ์์๋ ํด๋น ์ธํฐํ์ด์ค๋ฅผ implementsํ์ฌ ๊ตฌํํ๊ฒ ๋ฉ๋๋ค. ์ด ์ค
- ๋๋ค
- JAVA์์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ ๊ณตํด์ฃผ๋ ๋ฐฉ์. ํจ์ ์ด๋ฆ์ด ์๋ ์ต๋ช
ํจ์๋ฅผ ๋ง๋ ๋ค.
- ๋๋ค๋ ํจ์ ๋ด๋ถ์์ ํจ์ ์ธ๋ถ์ ์๋ ๋ณ์๋ฅผ ์ฌ์ฉํ์ง ์์, ํจ์๊ฐ ์ํ๋๋๋ผ๋ ์ธ๋ถ์ ์ํฅ์ ์ฃผ์ง ์๊ธฐ ๋๋ฌธ์ ๋ณ๋ ฌ ์ฒ๋ฆฌ์ ์ ํฉํจ. (๋์ผํ ์ ๋ ฅ์ ๋ํด ๋์ผํ ์ถ๋ ฅ์ ๋ณด์ฅํ๋ ์์ ํจ์์ด๋ฏ๋ก)
-
@FunctionalInterface
์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ์ฌ ํจ์ํ ์ธํฐํ์ด์ค์์ ๋ช ์์ ์ผ๋ก ํํํ ์ ์๋ค.
- ๋๋ค ํจ์๋ฅผ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌํ ์ ์์.
- JAVA์์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ ๊ณตํด์ฃผ๋ ๋ฐฉ์. ํจ์ ์ด๋ฆ์ด ์๋ ์ต๋ช
ํจ์๋ฅผ ๋ง๋ ๋ค.
- ์คํธ๋ฆผ
- ์ง์ฐ ์ฐ์ฐ(lazy evaluation) : ์ต์ข ์ฐ์ฐ์ด ํธ์ถ๋์ด์ผ๋ง ์คํธ๋ฆผ์ ์ค๊ฐ ์ฐ์ฐ๊น์ง ๋ชจ๋ ์ ์ฉ์ด ๊ฐ๋ฅํจ.
- ์ ๋ค๋ฆญ(Generic)
์ฝ๋ฉํ ์คํธ ์คํฐ๋
ํผ ๋ฌธ์
defaultdict
- collection์์ defaultdict๋ฅผ importํด์ฃผ์ด ์ฌ์ฉ
from collections import defaultdict
intDict = defaultdict(int)
- ์ฒ์ key์ ๋ํ value๋ฅผ ์ง์ ํด์ฃผ์ง ์์๋, ๋ฐ์ดํฐ ํ์ ์ ๋ํ ์ด๊ธฐํ๊ฐ ์ด๋ฃจ์ด์ง๋ ๋์ ๋๋ฆฌ์ ๋๋ค.
- ๊ฐ๋ น default ๊ฐ์ผ๋ก list๋ฅผ ์ฃผ์๋ค๋ฉด []์ผ๋ก ์ด๊ธฐํ๊ฐ ๋๊ณ , set์ผ๋ก ์ฃผ์๋ค๋ฉด {}์ผ๋ก ์ด๊ธฐํ๊ฐ ๋ฉ๋๋ค.
- ๋์ ๋๋ฆฌ์ ํด๋น ํค๊ฐ ์กด์ฌํ๋์ง์ ๋ํ ํ์ธ ์ ์ฐจ๋ฅผ ๊ฑฐ์น ํ์ ์์ด ๋ฐ๋ก ๊ฐ์ ์ฆ๊ฐ์์ผ์ค ์ ์์ด์ ํ์ด์ฌ์ ํ์ฉํ ์ฝ๋ฉํ ์คํธ ๋ฌธ์ ํ์ด์ ์ฉ์ดํฉ๋๋ค.
์คํฐ๋์ ๋ฌด๊ดํ๊ฒ ํผ ๋ฌธ์
DFS, BFS๋ฅผ ๋ง์ด ๊น๋จน์ด์ ํ์๋ ๋ฌธ์ ์ค์ ํ๋ฆฌํฐ ์ข์ ๋ฌธ์ ๋ค์ ๋ค์ ํ๊ธฐ ์์โฆ ๊พธ์คํ ํ๋๊ฒ ๊ฐ์ฅ ์ด๋ ค์ด ์ผ ๊ฐ์ต๋๋คโฆ ๋คํํ ํ์ด์ฌ์ด ์๋ ์ธ์ด๋ก ํ์์ด์, ์ ๋ ๋ชจ๋ฅด๊ฒ ๋ฒ ๋ ์ผ์ ์๋ค์โฆ
๋ฌธ์ ๋ฅผ ํผ ํ ๋ค์์ ํฌ์คํธ๋ฅผ ์์ฑํ์์ต๋๋ค.
โจ
04.06
- J2KB ์คํผ๋ ์ด์ ํ ์ ๋ฌด ๋ฐฐ์ ์ฌ๋ค๋ฆฌํ๊ธฐ๋ฅผ ํ๋๋ฐ ๋ค ๊ฐ ์ค์ ์ธ ๊ฐ ๋ฉด์ ๊ฐ ๋์์ ๋๋ฌด ์๊ธฐ๊ณ ํ๋ณตํ์ต๋๋ค. ใ ใ
- ์ค๋ ์คํผ๋ ์ด์ ํ ๊ตฌ๊ธํผ ์์ฑ์ 5๊ฐ๋ฅผ ํ๋๋ฐ ์๊ฐ์ด ์๊ฐ๋ณด๋ค ์ค๋ ๊ฑธ๋ ค์ ๋ค๋ฅธ ๊ณต๋ถ๋ฅผ ๋ชปํ๊ธด ํ์ง๋ง ๊ตฌ๊ธํผ์ ์ฒ์์ผ๋ก ์ ๋๋ก ์จ๋ณธ ๊ฒฝํ์ด๋ผ ์ ๊ธฐํ์ต๋๋ค.
04.07
- J2KB ์ฝ๋ฉํ ์คํธ ํ์ด ์คํฐ๋ ๋ ํ์งํ ๋ฆฌ์ ๋ฌธ์ ๋งํฌ ์ ๋ก๋ ์๋ฃ
- J2KB ํ์ ๋ฆฌ์คํธ ์ ๋ก๋ ์๋ฃ
์ด์ ๋ถํฐ ๋ชธ์ด ๊ณ์ ์์ข์์ ์ปดํจํฐ ์์์ ๊พธ๋ฒ ๊พธ๋ฒ ์กธ๊ณ ์์ต๋๋ค. ๋ ํผ๊ณคํ๋ค์.. ์๋ฐ๊ฐ๋ค๊ฐ ์ง์ ์์ ๊น๋นก ์ ๋ค์๋๋ฐ ํ 3์๊ฐ์ ์ค์ต๋๋ค.. ์จ ๋ชธ์ด ๋ป๊ทผ