public static void main(String [] args)
public
static
void
String[] args
main method
* ์๋ฐ๋ ํ๋์ ํ์ผ์๋ ์ฌ๋ฌ ํด๋์ค ์กด์ฌ ๊ฐ๋ฅํ์ง๋ง, public class๋ ํ๋๋ง ์กด์ฌ ๊ฐ๋ฅ
(public class๋ ํ์ผ์ ์ด๋ฆ๊ณผ ๋์ผํด์ผ ํจ)
CamelCasing
: ๋ฉ์๋, ํ๋, ํ๋ผ๋ฏธํฐ, ์์ ๋ฑ = ์ฒซ๋ฌธ์๋ ์๋ฌธ์, ๋๋ฒ์งธ ๋จ์ด๋ถํฐ๋ ๋๋ฌธ์๋ก ์์
PascalCasing
: ํด๋์ค, ์ธํฐํ์ด์ค, ์ด๊ฑฐํ ๋ฑ = ๋ชจ๋ ๋จ์ด์ ์ฒซ ๋จ์ด๋ฅผ ๋๋ฌธ์๋ก ์์
: ํ ํด๋์ค ์์ ๋ณ์๋ ๋ฉ์๋๋ฅผ ์ด๋๋งํผ ๊ณต๊ฐ๋ฅผ ํ ๊ฒ์ธ์ง ๊ฒฐ์
public
: ์ด๋ ๊ฒฝ์ฐ์๋ ๊ณต๊ฐdefault
: ์ธ๋ถ์์ ์ ๊ทผ์ด ์๋๊ณ , ํ๋์ ํจํค์ง ์์์๋ ์ ๊ทผ ๊ฐ๋ฅprotected
: ์ธ๋ถ์์ ์ ๊ทผ์ด ์๋์ง๋ง, ํจํค์ง ์์์์ ์์ํ ๊ฒฝ์ฐ ์ธ๋ถ์์ ์ ๊ทผ ๊ฐ๋ฅprivate
: ํ๋์ ํด๋์ค ๋ด๋ถ์ ์ ๋ณด๋ฅผ ์ธ๋ถ๋ก๋ถํฐ ๊ณต๊ฐํ์ง ์์ -> ํด๋น ํด๋์ค ๋ด๋ถ์์๋ง ์ ๊ทผ ๊ฐ๋ฅ: ํฌ๊ธฐ๊ฐ ๊ณ ์ ๋์ด ์์ง ์๊ณ ์ฌ๋ฌ ๊ฐ์ฒด๋ฅผ ๋ด์ ์ ์๋ ์๋ฃ๊ตฌ์กฐ๊ฐ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
* Collection์ Iterable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๊ณ ์๊ณ , Collection ์์๋ List, Queue, Set์ด ์์ (Map์ Key์ Value๋ก ์ด๋ค์ ธ์์ด ๊ตฌ์ฑ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ Collection์ ํฌํจ๋์ง ์๊ณ ๋ณ๋๋ก ๋ฐ๋ก ์กด์ฌ)
: ๊ฐ์ฒด๋ฅผ ์ผ๋ ฌ๋ก ๊ด๋ฆฌํ๋ ์๋ฃ๊ตฌ์กฐ, ์ธ๋ฑ์ค๋ก ๊ด๋ฆฌ
ArrayList
: ์์๋ค์ ๋ฐฐ์ด๋ก ๊ด๋ฆฌ, ๋ฉ๋ชจ๋ฆฌ์ ๋ฏธ๋ฆฌ ๊ณต๊ฐ์ ํ ๋นํด๋์ ํ ์ฐธ๊ณ ํ๋ ค๋ ๊ฐ์ฒด์ ์ฃผ์๋ฅผ ์ง์ด๋ฃ๊ฒ ๋(๋ฐฐ์ด์ ๊ธฐ๋ณธ ํฌ๊ธฐ๋ 10์ธ๋ฐ ์์๊ฐ ์ถ๊ฐ๋์ด 10์ ๋๊ฒ ๋๋ฉด ๋ฆฌ์ฌ์ด์ง์ ํ๊ฒ ๋. ๋ชจ๋ ์์๋ค์ด ๋ชจ๋ ๋ฆฌ์ฌ์ด์ง์ ํด์ผํ๊ธฐ ๋๋ฌธ์ ์๊ฐ ๋ณต์ก๋๋ O(N)์ด ๋)LinkedList
: ๋ค์ ๊ฐ์ ์ ์ฃผ์ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ์์ด ๊ฐ์ฒด๋ฅผ ๊ด๋ฆฌVector
: ArrayList์ ๋์ผํ์ง๋ง, ๋ฉํฐ์ค๋ ๋ ํ๊ฒฝ์์ ๋๊ธฐํ ๊ตฌํ์ด ๋์ด์์ด thread-safeํจ. ๋์ ์๋๊ฐ ๋๋ฆผ: ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ, ์ค๋ณตํด์ ์ ์ฅํ ์ ์๋ค๋ ํน์ง
HashSet
: hashCode ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ hash๊ฐ(๋ฐ์ดํฐ๋ฅผ ์ซ์๋ก ๋ณํํ ๊ฒ)์ ๊ฐ์ ธ์ ์ค๋ณต ์ฌ๋ถ ํ์ธTreeSet
: compareTo() ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์(๋๋ฌธ์ Comparable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ๊ฐ์ฒด๋ง TreeSet์ ์ฌ์ฉ ๊ฐ๋ฅ) ๋ฐ์ดํฐ๋ฅผ ๋น๊ตํ์ฌ ์ด์งํธ๋ฆฌ ์๋ฃ๊ตฌ์กฐ๋ก ์ ์ฅ(์ถ๊ฐ์ ์ญ์ ๋ฅผ ํ ๋ ํธ๋ฆฌ๋ฅผ ์ฌ๋ฐฐ์ด ํด์ผํ๊ธฐ ๋๋ฌธ์ ์ฝ์
-์ญ์ ์๋๊ฐ ๋๋ฆฌ๊ณ , ๊ฒ์์ ํธ๋ฆฌ ๋์ด๋งํผ ํด์ผ๋๊ธฐ ๋๋ฌธ์ (์๊ฐ๋ณต์ก๋๋ log2N) ์๋๊ฐ ๊ต์ฅํ ๋น ๋ฆ)LinkedHashSet
: ํด๋์ค ๋ด๋ถ์ LinkedList๊ฐ ํฌํจ๋์ด ์์ด์ ์
๋ ฅํ ์์๊น์ง ์ ์ฅ๋: ์ปฌ๋ ์ ๊ณผ๋ ๋ณ๋์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๊ณ , Key์ Value๋ก ๊ฐ์ฒด๋ฅผ ์ ์ฅํ๋ ํํ (Key๋ ์ค๋ณต์ผ๋ก ์ ์ฅ๋ ์ ์์)
HashMap
: HashCode๋ฅผ ์ฌ์ฉํด Key๋ฅผ ์ ์ฅํ๊ณ key์ ๋ฐ๋ผ value๋ฅผ ์ ์ฅ, Hash๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์กฐํ์์ ์ ๋ฆฌํจHashTable
: HashMap๊ณผ ๋น์ทํ์ง๋ง thread-safeํจLinkedHashMap
: ๋ด๋ถ์ LinkedList๋ฅผ ๊ฐ์ง๊ณ ์์ด์ ์
๋ ฅ ์์๋ฅผ ์ ์ฅTreeMap
: ์ด์งํธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ Map, Tree๊ตฌ์กฐ์ Key๋ฅผ ์ ์ฅIterable์ด๋ Iterator ๋ฉ์๋๋ง ๊ตฌํํ๋ฉด ๋๊ณ , Iterator ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ๊ฒ ๋
Iterator ๋ฉ์๋ ์ข
๋ฅ
1. hasNext(): ๋ค์ ๊ฐ์ฒด๊ฐ ์๋๊ฐ? ๋ค์ ์์๊ฐ ์๋๊ฐ?
2. next(): ์๋ค๋ฉด ๋ค์ ์์๋ฅผ ๋ฐํ
3. remove(): ๋ฐฉ๊ธ ๊ฐ์ ธ์จ ์์๋ฅผ ์ญ์