๋
ผ๋ฆฌ์ ์ฐ๊ฒฐ / ๋ฌผ๋ฆฌ์ ์ฐ๊ฒฐ๐ DB์ Java ์ ํ๋ฆฌ์ผ์ด์
์ฐ๊ฒฐ ๋ฐ DB ์ฟผ๋ฆฌ ์ํํ๊ธฐJava ์ ํ๋ฆฌ์ผ์ด์
์ JVM ์์์ ์คํ๋๋ฉฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ณ๋์ ์์คํ
์ด๋ค. ์ด๋ฅผ ์ฐ๊ฒฐํ๊ธฐ ์ํด์ ๋ค์ ๋ ๋จ๊ณ๋ฅผ ๊ฑฐ์น๋ค. 1๏ธโฃ DB ์ฐ๊ฒฐJava ์ ํ๋ฆฌ์ผ์ด์
์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํต์ ํ๊ธฐ ์ํด์ ๋จผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ํด์ผ ํ๋ค.Java์์์ DB ์ ์์ ๋ฌผ๋ฆฌ์ ์ ์ ๋
ผ๋ฆฌ์ ์ ์ ๋ ๋ฐฉ์ ์ค ํ๋๋ฅผ ์ ํํ๋ค.๋ฌผ๋ฆฌ์ ์ ์์ ๋งค ์ ์ ๋๋ง๋ค DB์ ์ง์ ๋ถ๋ ๊ฒ์ผ๋ก Create์ Close๋ฅผ ๋ฐ๋ณตํ๋ค.๋
ผ๋ฆฌ์ ์ ์์ ๋งค ์ ์ ๋๋ง๋ค DB์ ์ ์๋์ด ์๋ Connection Pool ์ค ํ๋๋ฅผ ์ฌ์ฉ ํ ๋ฐํํ์ฌ ์ฌ์ฌ์ฉํ๋ค.1-1. ๋ฌผ๋ฆฌ์ ์ ์ (DriverManager)DriverManger๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ง์ ์ ์(C..
๐ปDEV-STUDY/Java
Collection ๊ฐ๊ฐ์ ์์์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋์
Java 8์ StreamStream์ ๋ฑ์ฅ ์ด์ : Collection ๊ฐ๊ฐ์ ์์์ ๋ํ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋์
ํ์Stream์ Java 8์์ ๋์
๋ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ๋๊ตฌ๋ก, ๊ธฐ์กด ์ปฌ๋ ์
์ฒ๋ฆฌ ๋ฐฉ์์ ํ๊ณ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฑ์ฅํ๋ค.๊ธฐ์กด์๋ for, while ๊ฐ์ ์ธ๋ถ ๋ฐ๋ณต์ ์ฌ์ฉํด ์ปฌ๋ ์
์์๋ฅผ ์ฒ๋ฆฌํ์ง๋ง, Stream์ ์ด๋ฌํ ์ฒ๋ฆฌ๋ฅผ ๋ด๋ถ์์ ์ํํ์ฌ ๋ ๊ฐ๊ฒฐํ๊ณ ์ ์ฐํ๊ฒ ๋ง๋ ๋ค.์ธ๋ถ ๋ฐ๋ณต: ๋ฃจํ๋ฅผ ํตํด ์ธ๋ถ์์ ์ปฌ๋ ์
์์๋ฅผ ์ฒ๋ฆฌ.๋ด๋ถ ๋ฐ๋ณต: Stream์ ์ฌ์ฉํด ๋ด๋ถ์์ ์ปฌ๋ ์
์์๋ฅผ ์ฒ๋ฆฌ.Stream ์ด์ ์ ์๋ฐ ์ปฌ๋ ์ ์ฒ๋ฆฌ ๋ฐฉ์ (์ธ๋ถ ๋ฐ๋ณต):for (String string : list) { if (string.contai..
Null ๋ด๋ถ ์ฒ๋ฆฌJava 8์ OptionalOptional์ ๋ฑ์ฅ ์ด์ : Null์ ์ธ๋ถ๊ฐ ์๋ ๋ด๋ถ์์ ์ฒ๋ฆฌOptional ํด๋์ค๋ NullPointerExceptio ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋์
๋ ๊ฐ๋
์ผ๋ก, ์๋ฐ์์ null์ ์ฒ๋ฆฌํ๋ ๋ฒ๊ฑฐ๋ก์์ ํด๊ฒฐํ๊ธฐ ์ํ ๋๊ตฌ์ด๋ค. ์ด์ ์๋ null ์ฒดํฌ๋ฅผ ์ธ๋ถ์์ ์ง์ ์ฒ๋ฆฌํด์ผ ํ์ผ๋, Optional์ ์ฌ์ฉํ๋ฉด null ์ํ๋ฅผ ๊ฐ์ฒด ๋ด๋ถ์์ ์ฒ๋ฆฌํ ์ ์๋ค.๊ตด๋๊ตด๋ ๋ฐ์์ Null ์ฒ๋ฆฌ : ์ธ๋ถ์์ if๋ฌธ์ ์ฌ์ฉํ์ฌ null ๊ฐ์ ์ง์ ํ์ธ๊ตด๋ ์์์ Null ์ฒ๋ฆฌ: Optional ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ๋ด๋ถ์์ null ์ฌ๋ถ๋ฅผ ๋ค๋ฃธOptional์ด ์๋ ์์ ์๋ฐ์์ Null ์ฒ๋ฆฌํ๋๋ฒ๊ณผ ์๋ฐ์คํฌ๋ฆฝํธ์์ Null ์ฒ๋ฆฌ ํ๋ ๋ฒ/* ์ฃผ๋ฌธ */public cla..
๋์๋๋ ์ฝ๋์ ๋ฐฉํฅ์ ์ข์, ๊ฐ์ฒด ์งํฅ์ ํ๋ก๊ทธ๋๋ฐ์ ์ํ ๋ฐฉ๋ฒ๋ก ์ข์ ํ๋ก๊ทธ๋๋ฐ ์ฝ๋๋ ๋ณ๊ฒฝ์ด ์ฉ์ดํ๊ณ , ์ ์ง๋ณด์์ ํ์ฅ์ด ์ฌ์ด ์ฝ๋์ด๋ค. ์ด๋ฌํ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ๋ก ๊ณผ ์์น์ ๋ฐ๋ฅด๋ ๊ฒ์ด ์ค์ํ๋ค.์ค๋ณต์ ์ต์ํ: ํ๋์ ์์ ์ด ๋ค๋ฅธ ํ๋์ ์์ ์ ๋๋ฐํด์ ์๋๋ค.์ฝ๋ ๋ณ๊ฒฝ์ ์ฉ์ด์ฑ: ์ฝ๋๋ ํญ์ ์๋ฒฝํ์ง ์๊ณ ์๊ตฌ์ฌํญ์ ์์ ๋ฐ๋ ์ ์๋ค.์ฌ์ฌ์ฉ์ฑ: ์ ๋๋ ์ฝ๋๋ ๋น์ทํ๊ฑฐ๋ ๋ค๋ฅธ ์๊ตฌ์ฌํญ์๋ ๊ทธ๋๋ก ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.ํด๋ฆฐ ์ฝ๋์ ๊ธฐ์ค: ๋จ์ผ ๋ชฉ์ ๊ณผ ์ค์ฉ, ๋จ์ฉ ๋ฐฉ์ง๋ชจ๋ ๋ณ์, ํจ์, ํด๋์ค๋ ๋ช
ํํ ๋ชฉ์ ์ ๊ฐ์ง๊ณ , ์ค์ฉ๋์ง ์๋๋ก ๊ด๋ฆฌ๋์ด์ผ ํ๋ค. ์ด๋ฅผ ์ํ ์ฃผ์ ์์น์ ๋ค์๊ณผ ๊ฐ๋คDRY (Dont' Repeat Yourself): ๋์ผํ ๋ก์ง์ ์ฌ๋ฌ ๊ณณ์ ์ค๋ณตํ์ง ๋ง๊ณ , ํ ๊ณณ์์..
๋ถ๋ฅ๋ ๊ฐ์ฒด์ ๋ชจ์Java EnumEnum์ ํ์ ๋ ๊ฐ๋ค์ ์งํฉ์ ์ ์ํ ๋ ์ฌ์ฉ๋๋ Java์ ํน๋ณํ ๋ฐ์ดํฐ ํ์
์ด๋ค. ํน์ ๋ฉ์๋์ ํ๋ผ๋ฏธํฐ๋ ๊ฐ์ ์ค์ ํ ๋ ์ผ์ด์ค๊ฐ ๋๋ฌด ๋ง์์ ธ ๋ณต์กํด์ง๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค. Enum์ ํตํด ์ ์๋ ๊ฐ๋ง์ ์ฌ์ฉํ๋๋ก ์ ์ฝํ ์ ์๋ค. ๋ง์ ๊ฒฝ์ฐ, ๋ฉ์๋ ํ๋ผ๋ฏธํฐ์ Integer๋ String๊ณผ ๊ฐ์ ๊ฐ๋ค์ด ์ฌ์ฉ๋๋ค. ํ์ง๋ง ๊ฐ์ด ์๋ชป๋ ๊ฒฝ์ฐ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด Enum์ ์ฌ์ฉํ๋ฉด, ๊ฐ์ ๊ฒฝ์ฐ์ ์๋ฅผ ์ ํํ ์ ์๋ค. ์ด๋ ์๋ชป๋ ๊ฐ์ ์ ๋ฌ์ ๋ฐฉ์งํ๋ค. Enum ์ฌ์ฉ ์์๋ฌธ์ ์ํฉ:public static String createMessage(String message) { return "๋น์ ์๊ฒ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋
๋๋ค. : " + message;}์ ์ฝ๋์์ me..
์ถ์ํ ๋คํ์ฑJava์์ ์ธํฐํ์ด์ค์ ์ถ์ ํด๋์ค๋ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์ค์ํ ์์์ธ ์ถ์ํ์ ๋คํ์ฑ์ ๊ตฌํํ๋ ๋ฐ์ ์ฌ์ฉํ๋ค. ์ด ๋ ๊ฐ๋
์ ํด๋์ค๊ฐ ๊ฐ์ ธ์ผ ํ ํ์๋ ์์ฑ์ ์ ์ํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ฉฐ, ํน์ ์ํฉ์์ ์ด๋ค ๊ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ ํฉํ์ง์ ๋ฐ๋ผ ์ ํํ๊ฒ ๋๋ค.์ถ์ํ(Abstraction)์ถ์ํ๋ ๊ตฌ์ฒด์ ์ธ ๊ตฌํ์ ์จ๊ธฐ๊ณ , ํ์ํ ๋ถ๋ถ๋ง์ ์ธ๋ถ์ ์ ๊ณตํ๋ ๊ฒ์ ์๋ฏธํ๋ค.์ด๋ ๋ณต์กํ ์์คํ
์ ์ธ๋ถ ์ฌํญ์ ๊ฐ์ถ๊ณ , ํ์ํ ๊ธฐ๋ฅ๋ง์ ์ ๊ณตํ๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฒ์ด๋ค. ์๋ฐ์์๋ ์ธํฐํ์ด์ค ํน์ ์ถ์ ํด๋์ค๋ฅผ ํตํด ์ด๋ค๋ผ ์ ์๋ค.Interface(์ถ์ํ) ํน์ Abstract Class(์ถ์ ํด๋์ค) → (๊ตฌํ, ๊ตฌ์ฒดํ) ํด๋์ค = ๋ฐ์ดํฐ + ํ์Abstract: What ๋ฌด์์ ์ ์ฅ? / ๋ฌด์์ ..
Java์ final๊ณผ static ํค์๋Java์์ final๊ณผ static ํค์๋๋ ์ฝ๋์ ๋ถ๋ณ์ฑ๊ณผ ์ ์ ํน์ฑ์ ๋ํ๋ด๋ฉฐ, ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์์ ์ค์ํ ์ญํ ์ ํ๋ค.์ด ํฌ์คํ
์์๋ ์ด ๋ ํค์๋์ ์๋ฏธ, ์ฌ์ฉ ๋ฐฉ๋ฒ ๊ทธ๋ฆฌ๊ณ ์ถ๊ฐ๋ก ์ ์ ๋ฉ์๋์ ์ ์ ํด๋์ค์ ์ฐจ์ด๋ฅผ ์ค์ฌ์ผ๋ก ์ ๋ฆฌํ ์์ ์ด๋ค.Fianl: ๊ณ ์ - ์์ ๋ถ๊ฐ๋ฅFinal Field : ๊ฐ์ด ๋ณํ์ง ์๋๋ค.final ํ๋๋ ์ด๊ธฐํ๋ ํ ๊ฐ์ด ๋ณ๊ฒฝ๋ ์ ์๋ ์์์ด๋ค. (JavaScript์ const) ์ด ๊ฐ์ ์์ฑ์๋ ํ๋ ์ด๊ธฐํ ์์๋ง ์ค์ ๋ ์ ์์ผ๋ฉฐ, ๊ทธ ์ดํ์๋ ์์ ์ด ๋ถ๊ฐ๋ฅํ๋ค,.์ฐธ์กฐ ํ์
์ ๊ฒฝ์ฐ์๋ ๊ฐ์ฒด์ ์ฐธ์กฐ ์ฃผ์๋ ๋ณ๊ฒฝํ ์ ์์ง๋ง, ๊ฐ์ฒด ๋ด๋ถ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ค.์์ ์ฝ๋final int[] FINAL_ARRAY = n..
List Set MapJavaCollection FrameworkJava Collection Framework๋ ๊ฐ์ฒด์ ๊ทธ๋ฃน์ ์ ์ฅํ๊ณ ์กฐ์ํ๊ธฐ ์ํ ํ์ค ์ํคํ
์ฒ๋ฅผ ์ ๊ณตํ๋ค. ์ด ํ๋ ์์ํฌ๋ ๋ค์ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ(List, Set, Map)์ ์๊ณ ๋ฆฌ์ฆ(์ ๋ ฌ, ๊ฒ์ ๋ฑ)์ ์ ๊ณตํ์ฌ ๊ฐ๋ฐ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๊ฒ ๋์์ค๋ค. ํ๋ ์์ํฌ์ ํฐ ํน์ง ์ค ํ๋๋ Generics์ ํ์ฉ์ด๋ค. ์ปฌ๋ ์
์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ์ ํ์
์ ๋ช
์์ ์ผ๋ก ์ง์ ํจ์ผ๋ก์จ, ์๋ชป๋ ํ์
์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ฒ๋ฆฌํ ๋ ๋ฐ์ํ ์ ์๋ ์ค๋ฅ๋ฅผ ์ปดํ์ผ ํ์์ ๋ฐฉ์งํ ์ ์๋ค. ์ฌ์ค ํ์๋ Generics๋ฅผ ์ดํดํ๊ธฐ ์ํด Collection์ ์ ๋ฆฌํ๋ ๊ฒ์ด ๋ชฉ์ ์ด๋ค. ์ด์ Java Collection Framework์ ํต์ฌ ์ธํฐํ..