1. ์ ๋ค๋ฆญ์ค(Generics) ์ ๋ค๋ฆญ์ค๋?์ ๋ค๋ฆญ์ค(generics)๋ ์๋ฐ J2SE 5.0 ๋ฒ์ ์ดํ์ ๋์
๋ ๊ฐ๋
์ผ๋ก, ์๋ฃํ์ ์์ ํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋ง๋ค์ด ์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค. ์ ๋ค๋ฆญ์ค๋ฅผ ์ฌ์ฉํ๋ฉด ์๋ฃํ์ ๊ฐ์ ๋ก ๋ฐ๊ฟ ๋ ์๊ธธ ์ ์๋ ์บ์คํ
(Casting) ์ค๋ฅ๋ฅผ ์ค์ผ ์ ์๋ค. ArrayList๋ ์๋ฐ์ **์ ๋ค๋ฆญ์ค(Generics)**๋ฅผ ํ์ฉํ๋ ๋ํ์ ์ธ ์ปฌ๋ ์
ํด๋์ค์ด๋ค. ์ ๋ค๋ฆญ์ค๋ฅผ ์ฌ์ฉํ๋ฉด ArrayList์ ์ ์ฅํ ์์์ ํ์
์ ์ง์ ํ ์ ์๊ณ , ๋๋ถ์ ํ ๋ณํ ์์ด ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ค. (ํ์
์์ ์ฑ ๋ณด์ฅ) ArrayList๋ ArrayList ํํ๋ก ์ ์ํ๋๋ฐ, ์ฌ๊ธฐ์ E๋ ์ ์ฅํ ์์์ ํ์
์ ๋ํ๋ด๋ ํ์
๋งค๊ฐ๋ณ์์ด๋ค. ArrayList,ArrayList์ฒ๋ผ ์ ๋ค๋ฆญ์ค๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ..
1. ์๋ฐ์ ์๋ฃํ String Buffer๋ฅผ ์ค๋ช
ํ๊ธฐ์ ์์ ์๋ฐ์ ์๋ฃํ์๋ ๊ธฐ๋ณธํ(Primitive Type)๊ณผ ์ฐธ์กฐํ(Reference Type)์ด ์๋ค. ๊ธฐ๋ณธํ์ ๊ฐ ์์ฒด๋ฅผ ์ ์ฅํ๋ ํํ๋ก ์ ์ํ, ์ค์ํ, ๋ฌธ์ํ(char), ๋
ผ๋ฆฌํ์ด ๊ธฐ๋ณธํ์ ์ํ๋ค. ๋ฐ๋ฉด, ์ฐธ์กฐํ ์ฃผ์๊ฐ์ ๋ด๊ณ ์์ผ๋ฉฐ, ์ค์ ๋ก๋ ์ฃผ์๊ฐ ๊ฐ๋ฆฌํค๋ ๊ฐ์ฒด๋ ๋ฐฐ์ด ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฐธ์กฐํ๋ ํํ์ด๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ฐ์ 8๊ฐ์ง ๊ธฐ๋ณธํ(Primitive Type)์ด ์๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ ์ฐธ์กฐํ์ ์ํ๋ค. ๋ฆฌ์คํธ๋ ๋งต, ์งํฉ์ฒ๋ผ ์ฐ๋ฆฌ๊ฐ ์๋ ์๋ฐ ์ปฌ๋ ์
ํ๋ ์์ํฌ์์ ์ ๊ณตํ๋ ์๋ฃํ๋ค์ด ์ฐธ์กฐํ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ํํ ๋ฌธ์์ด์ด๋ผ๊ณ ๋ถ๋ฅด๋ String๋ ์ฐธ์กฐํ์ ์ํ๋ค. ์ฐธ์กฐํ(Reference Type)- ํด๋์ค (Class): ์ฌ์ฉ์๊ฐ ์ ์ํ ๊ฐ..
์ฌ๋ฌ๋ถ๋ค ์
๋ ฅ๋๊ตฌ Scanner ๋ง์ด ์ฐ์์ฃ ? ๊ทธ๋ฐ๋ฐ ์ฝ๋ฉํ
์คํธ ๋ฌธ์ ํ๋ค ๋ณด๋ฉด Scanner๋ณด๋ค BufferedReader / BufferedWriter์ ๋ ๋ง์ด ์ฐ๊ฒ ๋ฉ๋๋ค.๋ฒํผ๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ค ์ ์ด ๋ ์ข์๊น์? ๋ฒํผ๋ฅผ ์ฌ์ฉํ์ง ์๋ ์
๋ ฅ์, ํค๋ณด๋์ ์
๋ ฅ์ด ํค๋ฅผ ๋๋ฅด๋ ์ฆ์ ๋ฐ๋ก ํ๋ก๊ทธ๋จ์ ์ ๋ฌ๋ฐ๋ฉด ๋ฒํผ๋ฅผ ์ฌ์ฉํ๋ ์
๋ ฅ์, ํค๋ณด๋์ ์
๋ ฅ์ด ์์ ๋๋ง๋ค ํ ๋ฌธ์์ฉ ๋ฒํผ๋ก ์ ์กํ๋ค. ๋ฒํผ๊ฐ ๊ฐ๋ ์ฐจ๊ฑฐ๋ ๊ฐํ ๋ฌธ์๊ฐ ๋ํ๋๋ฉด ๋ฒํผ์ ๋ด์ฉ์ ํ ๋ฒ์ ํ๋ก๊ทธ๋จ์ ์ ๋ฌ์ฆ, ์
๋ ฅ ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ์ ๋ชจ์์ ์ ๋ฌ Scanner๋ ๋ฐ์ดํฐ๋ฅผ ํ ํฐ ๋จ์๋ก ์ฒ๋ฆฌํ๊ณ ๋์ด์ฐ๊ธฐ์ ๊ฐํ๋ฌธ์๋ฅผ ๊ฒฝ๊ณ๋ก ํ์ฌ ์
๋ ฅ ๊ฐ์ ์ธ์๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก ๊ฐ๊ณตํ ํ์๊ฐ ์์ด ํธ๋ฆฌํ๋ค.BufferedReader์ ์
๋ ฅ ๋ฐ์ ๋ฐ์ดํฐ๊ฐ St..
โ
List๋ฅผ map์ผ๋ก ๋ณํํ๋ ์ด์ db๋ API์์ ๋ฐ์ดํฐ ๋ฐ์์์ ๊ฒ์ํ ๋ ์๋๋ ํจ์จ์ฑ ์ธก๋ฉด์์ map์ด ๋น ๋ฆ์ฆ, ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋, ๋น ๋ฅธ ๊ฒ์์ ์ํด์ ํ์ํจ.์ด๊ฒ์ด ๊ฐ๋ฅํ ์ด์ ๋ map์ ํด์ ๊ธฐ๋ฐ์ผ๋ก ์๋ํ๋ฉฐ ํค,๊ฐ ์ ํ์์ ๊ฐ์ง๊ธฐ ๋๋ฌธ. JSON์ด๋ ๋น์ทํ ํ์์ด์ง๋ง ์๋ฐ์ map์ ํค๊ฐ ํ์
์ ์ ๋ค๋ฆญ์ผ๋ก ์ง์ ํด ์ฃผ์ด์ผ ํ๊ณ Map์ฒ๋ผ ๋ช
ํํ ํ์
์ ์ง์ ํด ์ฃผ์ด์ผ ํจ. [JSON]{ "name": "Alice", "age": 30, "isEmployee": true} [JAVA map]Map person = new HashMap();person.put("name", "Alice");person.put("age", 30);person.put("isEmployee", ..
๋จ, ์ด ์ธ ๊ฐ์ง ๊ฐ๋
์ ์์ฑ์, ์์ ์ด๋ผ๋ ๊ฐ๋
์ ์๊ณ ์์ด์ผ๋ง ์ดํด ๊ฐ๋ฅํฉ๋๋ค~ ์ ๊ฐ ์์ฑ์, ์์ ์์ฝ ์ ๋ฆฌ ํ๊ฑฐ ์์ผ๋ ์ฐธ๊ณ ํ์ธ์~ [Java] ์์ ์ฝ๋๋ก ์ฝ๊ฒ ์ดํดํ๋ ์๋ฐ์ ์์ & ์์ฑ์1. ์์ 1) ๊ฐ๋
- ๋ถ๋ชจํด๋์ค์ ๋ฉค๋ฒ ๋ณ์, ๋ฉค๋ฒ ๋ฉ์๋๋ฅผ ์์ ํด๋์ค๊ฐ ์์ ๋ฐ์ ์ฌ์ฉ - ํด๋์ค ์ฌ์ฌ์ฉ => ์ค๋ณต ์ฝ๋ ์ค์ฌ์ ํจ์จ์ฑ ์ฆ๋ 2) ํน์ง - '์์ํด๋์ค extends ๋ถ๋ชจํด๋์ค'awesomepossum.tistory.com ๊ถ๊ธํ ์ ์ด๋ ์ด๋ ค์ด ๋ฌธ์ ์์ผ์๋ฉด ๋๊ธ๋ก ๋ฌธ์์ฃผ์ธ์~ ์ ์ฑ๊ป ๋ต๋ณํด ๋๋ฆฌ๊ฒ ์ต๋๋ค 1. ๋ฉ์๋ ์ค๋ฒ๋ก๋ฉ = ๋ฉ์๋ ์ค๋ณต ์ ์, ๊ณ์ฐ๊ธฐ - ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๋ฅผ ์ธ์๋ง ๋ค๋ฅด๊ฒ ํ์ฌ ์ค๋ณต ์ ์ - ๋ฉ์๋์ ์ด๋ฆ์ด ๊ฐ์์ผ ํ๊ณ , ์ธ์์ ๊ฐ์๋ ํ์
์ด ํ๋ ค์ผ ํ๋ค. - ..
1. ์์ 1) ๊ฐ๋
- ๋ถ๋ชจํด๋์ค์ ๋ฉค๋ฒ ๋ณ์, ๋ฉค๋ฒ ๋ฉ์๋๋ฅผ ์์ ํด๋์ค๊ฐ ์์ ๋ฐ์ ์ฌ์ฉ - ํด๋์ค ์ฌ์ฌ์ฉ => ์ค๋ณต ์ฝ๋ ์ค์ฌ์ ํจ์จ์ฑ ์ฆ๋ 2) ํน์ง - '์์ํด๋์ค extends ๋ถ๋ชจํด๋์ค' ํ์์ผ๋ก ์์ - ํ ๋ฒ์ ํ๋์ ๋ถ๋ชจ ํด๋์ค๋ง ์์ ๋ฐ์ ์ ์์. => C extends A, B (x) => C extends B , B extends A (o) - private ์ ๊ทผ ์ ํ์ ๊ฐ๋ ๋ฉค๋ฒ ๋ณ์ ๋ฐ ๋ฉ์๋๋ ์ง์ ์ฌ์ฉ์ด ๋ถ๊ฐ => ๊ทธ๋ผ ์ด๋ป๊ฒ ์ฌ์ฉํ๋? getter, setter ์ฌ์ฉ 3) ์์ ๊ด๋ จ ํค์๋ - extends ์์ ๋ฐ์ ๋ ํด๋์ค๋ช
์์ ์ฌ์ฉ - super ์์ ํด๋์ค์์ ๋ถ๋ชจ๋ฅผ ๋ช
์์ ์ผ๋ก ์ฌ์ฉํ๊ณ ์ ํ ๋ ์ฌ..
์์ธ์ฒ๋ฆฌ 1. ๊ฐ๋
์์ธ ๋ฐ์ํ ๊ฒ์ ๋๋นํด์ ํ๋ก๊ทธ๋จ์์ ์ ์ดํ ์ ์๋๋ก ์ฒ๋ฆฌํ๋ ๊ฐ๋
์ค๋ฅ์๋ ๋ค๋ฅด๋ฉฐ ํ๋ก๊ทธ๋จ ์ํ ๋์ค์ ๋ฐ์ํ ์ ์๋ ์ฅ์ ์ ๋ํ ๋์ฒ 2. ํน์ง - try~catch~finally ๊ตฌ๋ฌธ์ผ๋ก ์ ์ด - ์์ธ ๋๊ธฐ๊ธฐ ์ํด throws ์ฌ์ฉ 3. ์์ธ์ฒ๋ฆฌ ํค์๋ - try ๋ธ๋ก : ์์ธ๊ฐ ๋ฐ์ํ ์ ์๋ ์ฝ๋ ํฌํจ - catch ๋ธ๋ก : try ๋ธ๋ก ๋ด์์ ๋ฐ์ํ ์์ธ๋ฅผ ์ฒ๋ฆฌ - finally : ์์ธ ๋ฐ์ ์ฌ๋ถ์ ์๊ด ์์ด ์คํ๋์ด์ผ ํ๋ ์ฝ๋๋ฅผ ํฌํจ - throw : ํ๋ก๊ทธ๋จ์์ ์ง์ ์์ธ๋ฅผ ๋ฐ์์ํค๊ธฐ ์ํด ์ฌ์ฉ - throws : ํด๋น ๋ฉ์๋์์ ์ฒ๋ฆฌํ์ง ์๊ณ ํธ์ถ์์๊ฒ ์์ธ ์ฒ๋ฆฌ ์์ 4. ์์ธ์ฒ๋ฆฌ ๋ฐฉ์try { // ์์ธ๊ฐ ๋ฐ์๋ ๋งํ ์ฝ๋ } catch(FileNotFoun..
์๋
ํ์ธ์์ค๋์ ์๋ฐ์ ์ถ์ํด๋์ค(abstract) ์ ์ธํฐํ์ด์ค(Interface) ๊ฐ๋จํ๊ฒ ์์๋ด์ ์ฌ๋ฌ๋ถ๋ค ์ ๊ฐ ์ ์ผ ์ข์ํ๋ ์ธ์ด๋ ์๋ฐ์ธ๋ฐ์๊ทธ ์ค ์ธํฐํ์ด์ค์ ์ถ์ํด๋์ค์ ํท๊ฐ๋ฆฌ๋ ๊ฐ๋
์ด ๋ง์ ์ ๋ฆฌํด ๋ณด๊ณ ์ ๊ธ ๋จ๊ฒจ๋ด
๋๋ค~ ์ ๋ธ๋ก๊ทธ๋ ์์ต ์ฐฝ์ถ์ ํ๊ณ ์์ง ์์ต๋๋ค์ ๊ฐ ๊ณต๋ถํ๋ฉด์ ํธํ๊ฒ ๋ณด๊ณ ์ ๋ฆฌํ๋ ค๊ณ ๋ง๋ ๋ธ๋ก๊ทธ์ด๋ ๋ถ์กฑํ ์ ์ด ๋ง์ต๋๋ค๊ถ๊ธํ์ ์ด๋ ์ฝ๋์ ์ค๋ฅ ๋ฐ๊ฒฌํ์๋ฉด ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์~ ์ธ์ ๋ ํ์์
๋๋ค 1. ์ถ์ํด๋์ค(abstract class) - ํ๋ ์ด์์ ์ถ์ ๋ฉ์๋ ํฌํจํ๋ ํด๋์ค- ์ฆ ์์ฑ๋ ๋ฉ์๋, ๋ฏธ์์ฑ๋ ๋ฉ์๋ ๋ชจ๋ ๊ฐ์ง ์ ์์ ์ธํฐํ์ด์ค๋ ๋ชจ๋ ๋ฉ์๋๊ฐ ์ถ์๋ฉ์๋๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ด์ผ ํจ- ์ฌ๊ธฐ์ ์์ฑ๋ ๋ฉ์๋๋ ๋ฉ์๋ ์์ { } ์ค๊ดํธ๊ฐ ์๋๊ฒ. => ๊ตฌํ๋ ๊ฒ์ผ๋ก..