Java์ ๊ธฐ๋ณธ ๊ฐ๋ ๋ฐ ํน์ง
Object ํํ์ ๊ฐ์ String ํํ๋ก ๋ณํํ ๋ ๋ง์ด ์ฌ์ฉํ๋ ๊ฒ์ด toString() ํน์ String.valueOf() ๋ฉ์๋์ด๋ค.๋ ๋ฉ์๋ ๋ชจ๋ ๊ฐ์ String์ผ๋ก ๋ณํํ๋ค๋ ์ ์์ ๋น์ทํ์ง๋ง, ๋ณ๊ฒฝํ๊ณ ์ ํ๋ Object๊ฐ null์ธ ๊ฒฝ์ฐ์๋ ์ฐจ์ด๊ฐ ์
๋ณ์(Variable)๋ ? ๋ฐ์ดํฐ๋ฅผ ๋ด๋ ๊ทธ๋ฆ ๋ฐ์ดํฐํ : ๋ฐ์ดํฐ์ ์ข ๋ฅ 10, "10", "์๋ ", 3.14, 'A', true ๊ธฐ๋ณธํ๋ฐ์ดํฐํ์ ์ ์ํ : byte, short, int, long ์ค์ํ : float, double ๋ฌธ์ํ : cha
์ ์ <= sc.nextInt();์ ์ <= sc.nextInt();์ ์ <= sc.nextInt();sc.nextLine();๋ฌธ์์ด <= sc.nextLine();์ ์ <= Integer.parseInt(sc.nextInt());๋ฌธ์์ด &l
Byte ๋ผ๋ฆฌ ๊ณ์ฐ ํ๋ฉด Byte๊ฐ ์๋๋ผ int ํ์ ์ด ๋๋ค '=' ๋ ๋ถ๋ฑํธ ๊ฐ ์๋ ๋์ ์ฐ์ฐ์ ์ด๋ค.< , > , == , != ์ ๊ฒฐ๊ณผ๊ฐ์ boolean (true / false)&& : AND || : OR& ,| ์ &&,||์ ์ฐจ์ด์ &,
1. ์กฐ๊ฑด๋ฌธ์ด๋ ? ์กฐ๊ฑด๋ฌธ(Conditional Statement) : ์กฐ๊ฑด์ ๋ฐ๋ผ ์ฃผ์ด์ง ์ผ์ ํ๋ ๋ช ๋ น๋ฌธ if ํค์๋๋ฅผ ์ด์ฉํด์ ๋ง๋ค ์ ์๋ค > ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ๋ boolean ํ์ ์ true / false ๋ฅผ ๋ฆฌํดํ๋ค. if(){} => ๋จ์ผ๋ก์ง ์กฐ๊ฑด๊ฒ์ฌ \
1. while ๋ฌธ > while : ์ด๊ธฐ์ -> ์กฐ๊ฑด์ -> ๋ช ๋ น๋ฌธ -> ์ฆ๊ฐ์ : ์์ง๋ฐฉํฅ * while๋ฌธ์ ์ฌ์ฉํด 1 ~ 10 ๊น์ง์ ํฉ ๊ตฌํ๊ธฐ ์์ * * while๋ฌธ์ ์ฌ์ฉํด ๊ตฌ๊ตฌ๋จ 7๋จ ์ถ๋ ฅํ๊ธฐ ์์ * 2. for ๋ฌธ > for : ์ด๊ธฐ์ -> ์กฐ๊ฑด
๋์ผํ ๋ฐ์ดํฐ์ ์งํฉ - ๋ฐ์ดํฐ ํฌ๊ธฐ๊ฐ ์ ์ ์ด๋ค. ์์. ๋ฐฐ์ด์ ์ฌ์ฉ๋ ๋ฐ์ดํฐํ์ ์ ๊ฒฐ์ ํ๋ค.2 ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ => ์ด๊ณผํด์ ์ฌ์ฉ ํ๋ฉด ArrayIndexOutOfBoundsException ์์ธ ๋ฐ์ 3. ๋ฐฐ์ด์์ฑ ๋ฐฉ๋ฒ ์ ํ 4\. ๋ฐฐ์ด์
๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์๋ ํจ์๋ผ๋ ๊ฒ์ด ๋ณ๋๋ก ์กด์ฌํ๋ค. ํ์ง๋ง ์๋ฐ๋ ํด๋์ค๋ฅผ ๋ ๋ ์กด์ฌํ๋ ๊ฒ์ ์์ ์ ์๊ธฐ ๋๋ฌธ์ ์๋ฐ์ ํจ์๋ ๋ฐ๋ก ์กด์ฌํ์ง ์๊ณ ํด๋์ค ๋ด์ ์กด์ฌํ๋ค.์๋ฐ๋ ์ด๋ฌํ ํด๋์ค ๋ด์ ํจ์๋ฅผ Method๋ผ๊ณ ๋ถ๋ฅธ๋ค.์ ๊ทผ์ ์ด์ (static) ๋ฆฌํดํ(
ํจ์์ ํธ์ถ ๋ฐฉ์์๋ Call by value์ Call by reference๊ฐ ์๋ค.๋ง ๊ทธ๋๋ก '๊ฐ์ ์ํ ํธ์ถ'์ด๋, '์ฐธ์กฐ์ ์ํ ํธ์ถ'์ด๋ ๋ผ๊ณ ํ ์ ์๋ค ์์ ์ ์ฝ๋์ ๊ฒฐ๊ณผ ๊ฐ์ ์ด๋ ๋ค์ 110์ด ์๋ 10์ด ๋์ฌ๊น ? ๊ทธ ์ด์ ๋ Call by valu
Math.random() ๋ฉ์๋๋ Double ํ์ผ๋ก 0.0์ด์ 1.0 ๋ฏธ๋ง ์ฌ์ด์ ๊ฐ์ ๋ฐํํ๋ ํจ์์ด๋ค. ๋๋คํจ์๋ ๊ธฐ๋ณธํ์ด Doubleํ์ด๊ธฐ์ (int) ๋ก ์ ์ํ ์์ผ์ฃผ์ด์ผํ๋ค.๊ทธ๋ฆฌ๊ณ 1๋ถํฐ์ ๊ฐ์ ๋ฝ๊ณ ์ถ๋ค๋ฉด ๋๋คํจ์๋ 0๋ถํฐ ๋์ค๊ธฐ๋๋ฌธ์ +1์ ๊ผญ ์์ผ์ฃผ๋
java.util.Arrays ์ ํธ๋ฆฌํฐ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐฐ์ด(Array)์ ์ ๋ ฌ, ๋ณต์ ํ๊ฑฐ๋, List๋ก ๋ณํ ํ๋ ๋ฑ์ ์์ ์ ์ฝ๊ฒ ์ฒ๋ฆฌ ํ ์ ์๋ค. ํด๋น ํด๋์ค์ sort() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๊ฒ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ด ๊ฐ๋ฅํ๋ค. sort() ๋ฉ์๋๋ ํด๋์ค ๋ฉ์๋
๋ฌธ์์ด์ ํ ๊ธ์์ฉ ์ชผ๊ฐ์ ์ด๋ฅผ charํ์ ์ ๋ฐฐ์ด์ ์ง์ด๋ฃ์ด์ฃผ๋ ๋ฉ์๋์ด๋ค.
Java์์ ์์ธ(exception) ๋ ์ฌ์ฉ์์ ์๋ชป๋ ์กฐ์์ด๋ ๊ฐ๋ฐ์์ ์ฝ๋ฉ ์ค์๋ก ์ธํด ๋ฐ์ํ๋ ํ๋ก๊ทธ๋จ ์ค๋ฅ๋ฅผ ๋งํ๋ค. ์์ธ๊ฐ ๋ฐ์๋๋ฉด ํ๋ก๊ทธ๋จ์ ๊ณง๋ฐ๋ก ์ข ๋ฃ๋๋ค๋ ์ ์์ ์๋ฌ์ ๋์ผํ๋, ์์ธ๋ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํตํด ํ๋ก๊ทธ๋จ์ ์ข ๋ฃํ์ง ์๊ณ ์ ์ ์คํ ์ํ๊ฐ ์ ์ง
๊ตฌ์ฒด์ ์ถ์์ ๋ฐ์ดํฐ์ ๋จ์๋ฅผ ๊ฐ์ฒด๋ผ๊ณ ํํํ๋ค.์ฌ๋, ์๋์ฐจ์ ๊ฐ์ ์ฌ๋ฌผ ๋ฐ ์ฃผ๋ฌธ, ๊ด๋ฆฌ, ์์ฐ๊ณผ ๊ฐ์ ์ํ์ ํ๋์ผ๋ก ๊ท์ ํ ์ ์๋ ๊ฒ์ ๋ชจ๋ ๊ฐ์ฒด๋ก ํํ ํ ์ ์๋ค.๊ฐ์ฒด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ํ๋ก๊ทธ๋๋ฐ์ด๋ค.๊ฐ์ฒด๋ฅผ ์ ์ ๋ฐ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ ๊ฐ์ฒด ๊ฐ์ ํ๋ ฅ์ ๊ตฌํํ๋ค
์์ฑ์๋ new ์ฐ์ฐ์ ๋ฅผ ํตํด์ ์ธ์คํด์ค๋ฅผ ์์ฑํ ๋ ๋ฐ๋์ ํธ์ถ์ด ๋๊ณ ์ ์ผ ๋จผ์ ์คํ๋๋ ์ผ์ข ์ ๋ฉ์๋ ์ด๋ค. (ํ์ง๋ง ๊ธฐ์กด์ ์ฐ๋ฆฌ๊ฐ ์๊ณ ์๋ ๋ฉ์๋์๋ ๋ค๋ฅด๋ค.)์์ฑ์๋ ์ธ์คํด์ค ๋ณ์๋ฅผ ์ด๊ธฐํ ์ํค๋ ์ญํ ์ ํ๋ค.์์ฑ์๋ฅผ ์ ์ธํ๋ ๋ฐฉ๋ฒ์ ์์ ์ฝ๋์ ๊ฐ๋ค. ํด
private : ํด๋์ค ๋ด์์๋ง ์ ๊ทผ ๊ฐ๋ฅdefault : ํด๋น ํจํค์ง ์์์๋ง ์ ๊ทผ ๊ฐ๋ฅprotected : ํด๋น ํจํค์ง + ํจํค์ง๋ ๋ค๋ฅด์ง๋ง ์์ ๊ด๊ณ์ ํด๋์ค๋ ์ ๊ทผ ๊ฐ๋ฅpublic : ์๋ก ๋ค๋ฅธ ํจํค์ง์์๋ ์ ๊ทผ ๊ฐ๋ฅ์ ๊ทผ๋ฒ์private <
List = InterfaceArrayList = ClassList๋ Array ๋น์ทํ๋ฉฐ Java์ ์๋ฃํ์ผ๋ก Array๋ณด๋ค ํธ๋ฆฌํ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์๋ค.List์ Array์ ๊ฐ์ฅ ํฐ ์ฐจ์ด๋ ํฌ๊ธฐ๊ฐ ์ ํด์ ธ ์์ง ์๊ณ ๋์ ์ผ๋ก ๋ณํ๋ค.์๋ฅผ ๋ค์ด ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ 5๊ฐ๋ก ์ ํ
static ์ด๋ ์ ์ ์ด๋ค ๋ผ๋ ์๋ฏธ๋ฅผ ๊ฐ๊ณ ์๋ค.Java์์๋ ํด๋์ค์ ๊ณ ์ ๋ ๋ฉค๋ฒ์ด๋ค. ๊ทธ๋์ ํด๋์ค๋ฅผ ๋ก๋ฉ ํ๋ฉด ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ๋ก ํ ๋น ์์ผ ์ค๋ค.static์ ์ ์ญ์ ์ผ๋ก ์ฝ๊ฒ ์ฌ์ฌ์ฉํ๋ ๋ฉค๋ฒ๋ ์ ๋ณํ์ง ์๋ ๋ณ์, ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ๋ ์ฃผ๋ก ์ฌ์ฉ ๋๋ค.ํด๋์ค ํธ์ถ,
Java์๋ ๋ถ๋ชจ ํด๋์ค(์์ ํด๋์ค, ์ํผํด๋์ค)์ ์์ ํด๋์ค(ํ์ํด๋์ค, ์๋ธํด๋์ค)๋ผ๋ ๊ฐ๋ ์ด ์์ผ๋ฉฐ,์์ ํด๋์ค๋ ๋ถ๋ชจ ํด๋์ค๋ฅผ ์ ํํด, ๋ถ๋ชจ์ ๋ฉค๋ฒ(ํ๋)๋ฅผ ์์๋ฐ์ ์ธ ์ ์๋ค.์์์ ํ๋ ์ด์ ๋ ์ค๋ณต๋ ์ฝ๋๋ฅผ ์ค์ด๊ณ , ์ ์ง ๋ณด์๋ฅผ ํธ๋ฆฌํ๊ฒ ํ ์ ์์ผ๋ฉฐ
Java์์ ๋ฌต์์ ํ๋ณํ์ด๋ ์๋์ผ๋ก ํ๋ณํ ํด์ฃผ๋ ๊ฒฝ์ฐ๋ฅผ ์๋ฏธํ๋ค.๋ฐ์ดํฐ ์์ ๋ณํํ ํ์ ์ผ๋ก ๋ช ์ํด์ฃผ๋ ๊ฒฝ์ฐ์ฃผ๋ก ํฐ ๋ฐ์ดํฐ ํ์ ์ ์์ ๋ฐ์ดํฐ ํ์ ์ผ๋ก ๋ณํํ ๋ ์ฌ์ฉํ๋ฉฐ, ๋ฐ์ดํฐ ์์ค์ ๊ฐ๋ฅ์ฑ์ด ์์ด ๋ช ์์ ์ผ๋ก ํ ๋ณํ์ ํด์ฃผ์ง ์์ ๊ฒฝ์ฐ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.๊ฐ์ฒด
์์ ๊ด๊ณ์ ์๋ ๋ถ๋ชจ ํด๋์ค์์ ์ด๋ฏธ ์ ์๋ ๋ฉ์๋๋ฅผ ์์ ํด๋์ค์์ ๊ฐ์ ์๊ทธ๋์ณ๋ฅผ ๊ฐ๋ ๋ฉ์๋๋ก ๋ค์ ์ ์ํ๋ ๊ฒ์ด๋ค.Java์์ ์์ ํด๋์ค๋ ๋ถ๋ชจ ํด๋์ค์ private ๋ฉค๋ฒ๋ฅผ ์ ์ธํ ๋ชจ๋ ๋ฉ์๋๋ฅผ ์์ ๋ฐ๋๋ค.์์๋ฐ์ ๋ฉ์๋๋ ๊ทธ๋๋ก ์ฌ์ฉํด๋ ๋์ง๋ง, ํ์์
์ถ์ ๋ฉ์๋๋ ์์ ํด๋์ค์์ ๋ฐ๋์ ์ค๋ฒ๋ผ์ด๋ฉ(Overriding) ํด์ผ๋ง ์ฌ์ฉํ ์ ์๋ ๋ฉ์๋๋ฅผ ์๋ฏธ ํ๋ค.Java์์ ์ถ์ ๋ฉ์๋๋ฅผ ์ ์ธํ์ฌ ์ฌ์ฉํ๋ ๋ชฉ์ ์ ์ถ์ ๋ฉ์๋๊ฐ ํฌํจ๋ ํด๋์ค๋ฅผ ์์ ๋ฐ๋ ์์ ํด๋์ค๊ฐ ๋ฐ๋์ ์ถ์ ๋ฉ์๋๋ฅผ ๊ตฌํํ๋๋ก ํ๊ธฐ ์ํจ์ด๋ค.
Java์์๋ ํด๋์ค๋ฅผ ์ด์ฉํ์ฌ ๋ค์ค ์์์ ํ ๊ฒฝ์ฐ ๋ฉ์๋ ์ถ์ฒ์ ๋ชจํธ์ฑ ๋ฑ ์ฌ๋ฌ ๊ฐ์ง ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ด ํด๋์ค๋ฅผ ํตํ ๋ค์ค ์์์ ์ง์ํ์ง ์๋๋ค.ํ์ง๋ง ๋ค์ค ์์์ ์ด์ ์ ๋ฒ๋ฆด ์ ์์ดJava์์๋ ์ธํฐํ์ด์ค(Interface)๋ผ๋ ๊ฒ์ ํตํด ๋ค์ค ์์์ ์ง
๐ค Object ํด๋์ค ? `java.lang.Object` ๋ชจ๋ ํด๋์ค์ ์ต์์ ํด๋์ค `java.lang.Object` ํด๋์ค๋ ๋ชจ๋ ํด๋์ค์ ์ต์์ ํด๋์ค๋ก ๋ชจ๋ ํด๋์ค๋ Object ํด๋์ค๋ฅผ ์์ ๋ฐ๋๋ค. ๋ฐ๋ผ์ ๋ชจ๋ ํด๋์ค๋ Object ํด๋์ค์ ๋ฉ์๋๋ฅผ
java.lang.stringJava ์์๋ ๋ฌธ์์ด์ ์ํ String์ด๋ผ๋ ํด๋์ค๋ฅผ ๋ณ๋๋ก ์ ๊ณตํ๋ค.String ํด๋์ค์๋ ๋ฌธ์์ด๊ณผ ๊ด๋ จ๋ ์์ ์ ํ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์๋ ๋ค์ํ ๋ฉ์๋๊ฐ ํฌํจ๋์ด ์๋ค.String ์ธ์คํด์ค๋ ํ ๋ฒ ์์ฑ๋๋ฉด ๊ทธ ๊ฐ์ ์ฝ๊ธฐ๋ง ํ
๐ค ์ ๊ท ํํ์(Regular Expression) ? ์ ๊ท ํํ์ ํน์ ์ ๊ท์์ ํน์ ํ ๊ท์น์ ๊ฐ์ง ๋ฌธ์์ด์ ์งํฉ์ ํํํ๋๋ฐ ์ฌ์ฉ๋๋ ์ธ์ด๋ค. ์ ๊ท ํํ์์ ํ ์คํธ ํธ์ง๊ธฐ๋ ์คํฌ๋ฆฝํธ ์ธ์ด์์ ๋ฌธ์์ด์ ๊ฒ์๊ณผ ์นํ์ ์ํด ์ง์ํ๊ณ ์๋ค. ๐ Java ์ ๊ท ํํ
์๋ฃ๊ตฌ์กฐ(๋ฐ์ดํฐ๋ฅผ ๋ด์์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํ ๊ตฌ์กฐ) -> ๋ฐฐ์ด => ํ๊ณ(๋ถํธ) -> ๋์ผํ ๋ฐ์ดํฐ ํ์ ์ ์ฅ -> ํฌ๊ธฐ ํ์ฅ ๋ถ๊ฐ -> ์ถ๊ฐ, ์ญ์ => ์ปจํธ๋กค ํ๊ธฐ ๋ณต์ก => ๊ธฐ๋ฅ X List : ๋ฐ์ดํฐ์ ์์, ์ค๋ณต ํ์ฉ -> ์คํ, ํ Map : key/
์๋ฃ ๊ตฌ์กฐ ์ค ํ๋์ธ Stack์ ์ฌ์ ์ ์ ์๋ '์๋ค', '๋๋ฏธ'์ด๋ค.์์์ ๋ฌผ๊ฑด์ ์์ ์ฌ๋ฆฌ๋ฏ์ด ๋ฐ์ดํฐ๋ฅผ ์๋ ์๋ฃ ๊ตฌ์กฐ์ด๋ค.Stack์ ๊ฐ์ฅ ํฐ ํน์ง์ ๋์ค์ ๋ค์ด๊ฐ ๊ฒ์ด ๋จผ์ ๋์ค๋ (Last In First Out)์ ํํ์ด๋ค.๋จผ์ ๋ค์ด๊ฐ ์๋ฃ๊ฐ ๋์ค์ ๋์ค๋
Map ์ธํฐํ์ด์ค๋ Collection ์ธํฐํ์ด์ค์ ๋ค๋ฅธ ์ ์ฅ ๋ฐฉ์์ ๊ฐ์ง๋ค.Map ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ Map ์ปฌ๋ ์ ํด๋์ค๋ค์ key์ value๋ฅผ ํ๋์ ์์ผ๋ก ์ ์ฅํ๋ ๋ฐฉ์์ด๋ค.์ฌ๊ธฐ์ key๋ ์ค์ง์ ์ธ ๊ฐ(value)๋ฅผ ์ฐพ๊ธฐ ์ํ ์ด๋ฆ์ ์ญํ ์ ํ๋ค. Map์ ํน
๐ค HashSet ? `HashSet์ Set` ์ธํฐํ์ด์ค์ ๊ตฌํ ํด๋์ด๋ค. Set์ ๊ฐ์ฒด๋ฅผ ์ค๋ณตํด์ ์ ์ฅํ ์ ์๊ณ ํ๋์ null ๊ฐ๋ง ์ ์ฅํ ์ ์๋ค. ๋ํ ์ ์ฅ ์์๊ฐ ์ ์ง๋์ง ์๋๋ค. ๋ง์ฝ ์์์ ์ ์ฅ ์์๋ฅผ ์ ์งํด์ผ ํ๋ค๋ฉด LinkedHashSet ํด๋์ค๋ฅผ
Java์์ ๋ฐ์ดํฐ๋ ์คํธ๋ฆผ(Stream)์ ํตํด ์ ์ถ๋ ฅ ๋๋ค.์คํธ๋ฆผ์ ๋จ์ผ ๋ฐฉํฅ์ผ๋ก ์ฐ์์ ์ผ๋ก ํ๋ฌ๊ฐ๋ ๊ฒ์ ๋งํ๋๋ฐ ๋ฌผ์ด ๋์ ๊ณณ์์ ๋ฎ์๊ณณ์ผ๋ก ํ๋ฅด๋ฏ์ด ๋ฐ์ดํฐ๋ ์ถ๋ฐ์ง์์ ๋์ ๋์ฐฉ์ง๋ก ํ๋ฌ๊ฐ๋ค๋ ๊ฐ๋ ์ด๋ค.ํ๋ก๊ทธ๋จ์ด ์ถ๋ฐ์ง๋ ๋๋ ๋์ฐฉ์ง๋์ ๋ฐ๋ผ์ ์คํธ๋ฆผ์ ์ข ๋ฅ๊ฐ
์๋ฐ ์ดํ๋ฆฌ์ผ์ด์ ์์๋ ์ง์ ๊ด๊ณํ DBMS๋ฅผ ์ ์ดํ ์ ์๋ค. ๊ทธ๋ฌํ ์ญํ ์ ๋๋ API๊ฐ JDBC(Java DataBase Connectivity) API์ด๋ค. 1\. JDBC ๋๋ผ์ด๋ฒ ๋ก๋ฉClass.forName("JDBC๋๋ผ์ด๋ฒ ์ด๋ฆ"); ์ผ๋ก JDBC ๋๋ผ