Java(25)
-
[JAVA] ๋ ์๋ฐ, Java 8 Date์ Time API
1๏ธโฃ ์ด์ Date์ Time java 8 ์ ์๋ก์ด ๋ ์ง์ ์๊ฐ API๊ฐ ์๊ธด ์ด์ -> ๊ทธ์ ๊น์ง ์ฌ์ฉํ๋ java.util.Date ํด๋์ค๋ mutuable(๋ณ๊ฒฝ์ด ์ฌ์ด) ๋๋ฌธ์ Thread safeํ์ง ์์๋ค. -> ํด๋์ค ์ด๋ฆ์ด ๋ช ํํ์ง ์๋ค. (Date์ธ๋ฐ ์๊ฐ์ ๋ค๋ฃจ๊ธฐ๋ ํ๊ณ ์ด๋ฆ์ด ์ข ํท๊ฐ๋ฆฐ๋ค.) -> ๋ฒ๊ทธ ๋ฐ์ํ ์ฌ์ง๊ฐ ๋ง๋ค. (ํ์ ์์ ์ฑ์ด ์๊ณ , ์์ด 0๋ถํฐ ์์..) -> ๋ ์ง ์๊ฐ ์ฒ๋ฆฌ๊ฐ ๋ณต์กํ ์ ํ๋ฆฌ์ผ์ด์ ์์๋ ๋ณดํต joda time์ ์ฌ์ฉํ๊ณค ํ๋ค. 2๏ธโฃ ์ฃผ์ API - ๊ธฐ๊ณ์ฉ ์๊ฐ machine Time ๊ณผ ์ธ๋ฅ์ฉ ์๊ฐ human time์ผ๋ก ๋๋ ์ ์๋ค. - ๊ธฐ๊ณ์ฉ ์๊ฐ epoke (1970๋ 1์ 1์ผ 0์ 0๋ถ 0์ด)๋ถํฐ ํ์ฌ๊น์ง์ ํ์ ์คํฌํ๋ฅผ ํํํ ์ ์๋ค. -..
2022.04.11 -
[JAVA] ๋ ์๋ฐ, Java 8 Optional
1๏ธโฃ Optional ํ๋ก๊ทธ๋๋ฐ์ ํ๋ค๋ณด๋ฉด ๊ฐ๋ฐ์์ ์ค์๋ก ์ธํด null์ ๋ฆฌํดํ๊ฑฐ๋ null ์ฒดํฌ๋ฅผ ๊น๋นกํด์ NPE(NullPointerExecption)์ ์ข ์ข ๋ณด๊ฒ ๋๋ค. ๋ฉ์๋์์ ์์ ํ๋ค๋ณด๋ฉด ํน๋ณํ ์ํฉ์์ ๊ฐ์ ์ ๋๋ก ๋ฆฌํดํ ์ ์๋ ๊ฒฝ์ฐ์๋ ์์ธ๋ฅผ ๋์ง๊ฑฐ๋ , null์ ๋ฆฌํดํด ํด๋ผ์ด์ธํธ ์ฝ๋์์ ์ฃผ์ํ๊ฑฐ๋, Optional(java8๋ถํฐ!)์ ๋ฆฌํดํ๋ค. Optional์ด๋? ์ค์ง ๊ฐ ํ ๊ฐ๊ฐ ๋ค์ด์์์๋ ์์์๋ ์๋ ์ปจํ ์ด๋ Optional ์ฌ์ฉ์ ์ฃผ์ํ ์ - Optional์ ๋ฆฌํด๊ฐ์ผ๋ก๋ง ์ฐ๊ธฐ๋ฅผ ๊ถ์ฅํ๋ค. -> ๋ฉ์๋ ๋งค๊ฐ๋ณ์ ํ์ , ๋งต์ ํค ํ์ , ์ธ์คํด์ค ํ๋ ํ์ ์ผ๋ก ์ฐ์ง๋ง๊ธฐ - Optional์ ๋ฆฌํดํ๋ ๋ฉ์๋์์ null์ ๋ฆฌํดํ์ง ๋ง์. - Primitive ํ์ ์ฉ Opt..
2022.04.11 -
[JAVA] 8. ๋ฐฐ์ด
1๏ธโฃ ๋ฐฐ์ด Array ๊ฐ์ ํ์ ์ ์ฌ๋ฌ ๋ณ์๋ฅผ ํ๋์ ๋ฌถ์์ผ๋ก ๋ค๋ฃจ๋ ๊ฒ์ ๋ฐฐ์ด์ด๋ผ๊ณ ํ๋ค. ์ฌ๊ธฐ์ ์ค์ํ ๊ฒ์ '๊ฐ์ ํ์ ' ์ด์ด์ผํ๋ค๋ ๊ฒ์ด๋ค!! ์๋ก ๋ค๋ฅธ ํ์ ์ ๋ณ์๋ค๋ก ๊ตฌ์ฑ๋ ๋ฐฐ์ด์ ๋ง๋ค ์ ์๋ค. int[] num = {1, 2, 3, 4, 5}; 2๏ธโฃ ๋ฐฐ์ด์ ์ ์ธ๊ณผ ์์ฑ ๋ฐฐ์ด ์ ์ธ ๋ฐฉ๋ฒ์ ์ํ๋ ํ์ ์ ๋ณ์๋ฅผ ์ ์ธํ๊ณ , ๋ณ์ ๋๋ ํ์ ์ ๋ฐฐ์ด์์ ์๋ฏธํ๋ ๋๊ดํธ[]๋ฅผ ๋ถ์ด๋ฉด ๋๋ค. ํ์ [] ๋ณ์์ด๋ฆ; ๋ฐฐ์ด์ ์์ฑ : ๋ฐฐ์ด์ ์ ์ธํ๋ ๊ฒ์ ๋จ์ง ์์ฑ๋ ๋ฐฐ์ด์ ๋ค๋ฃจ๊ธฐ ์ํ ์ฐธ์กฐ๋ณ์๋ฅผ ์ํ ๊ณต๊ฐ์ด ๋ง๋ค์ด์ง ๋ฟ์ด๊ณ , ๋ฐฐ์ด์ ์์ฑํด์ผ๋ง ๋น๋ก์ ๊ฐ์ ์ ์ฅํ ์ ์๋ ๊ณต๊ฐ์ด ๋ง๋ค์ด์ง๋ ๊ฒ์ด๋ค. ๋ฐฐ์ด์ ์์ฑํ๊ธฐ ์ํด์๋ ์ฐ์ฐ์ new ์ ํจ๊ป ๋ฐฐ์ด์ ํ์ ๊ณผ ๊ธธ์ด๋ฅผ ์ง์ ํด์ค์ผ ํ๋ค. ํ์ [] ๋ณ์์ด๋ฆ =..
2022.04.08 -
[JAVA] 7. ๋ฐ๋ณต๋ฌธ
1๏ธโฃ ๋ฐ๋ณต๋ฌธ for, while, do-while ๋ฐ๋ณต๋ฌธ์ ์ด๋ค ์์ ์ด ๋ฐ๋ณต์ ์ผ๋ก ์ํ๋๋๋ก ํ ๋ ์ฌ์ฉํ๋ฉฐ, ๋ฐ๋ณต๋ฌธ์ ์ข ๋ฅ๋ก๋ for๋ฌธ, while๋ฌธ, while๋ฌธ์ ๋ณํ์ธ do-while๋ฌธ์ด ์๋ค. for๋ฌธ๊ณผ while๋ฌธ์ ์ํ ๋ฌธ์ฅ์ ์กฐ๊ฑด์ ๋ฐ๋ผ ํ๋ฒ๋ ์ํ๋์ง ์์ ์ ์์ง๋ง do-while๋ฌธ์ ์ํ ๋ฌธ์ฅ์ ๋ฌด์กฐ๊ฑด ์ต์ํ ํ๋ฒ์ ์ํ๋ ๊ฒ์ด ๋ณด์ฅ๋๋ค. for๋ฌธ๊ณผ while๋ฌธ์ ๊ตฌ์กฐ์ ๊ธฐ๋ฅ์ด ์ ์ฌํ์ฌ ์ด๋ ๊ฒฝ์ฐ์๋ ์๋ก ๋ณํ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋ฐ๋ณต๋ฌธ์ ์์ฑํด์ผํ ๋ for๋ฌธ๊ณผ while๋ฌธ ์ค ์ด๋ ์ชฝ์ ์ ํํด๋ ์ข์ผ๋ for๋ฌธ์ ์ฃผ๋ก ๋ฐ๋ณตํ์๋ฅผ ์๊ณ ์์ ๋ ์ฌ์ฉํ๋ค. 2๏ธโฃ for๋ฌธ for๋ฌธ์ ๋ฐ๋ณต ํ์๋ฅผ ์๊ณ ์์ ๋ ์ ํฉํ๋ค. for(์ด๊ธฐํ; ์กฐ๊ฑด์; ์ฆ๊ฐ์) { // ์กฐ๊ฑด์์ด ์ฐธ์ผ ๋ ์ํ..
2022.04.06 -
[JAVA] ๋ ์๋ฐ, Java 8 Stream
1๏ธโฃ Stream ์คํธ๋ฆผ์ ๋ฐ์ดํฐ๋ฅผ ๋ด๊ณ ์๋ ์ ์ฅ์(Collection) ์ด ์๋๋ค! Functional in nature, ์คํธ๋ฆผ์ด ์ฒ๋ฆฌํ๋ ๋ฐ์ดํฐ ์์ค๋ฅผ ๋ณ๊ฒฝํ์ง ์๋๋ค. ์คํธ๋ฆผ์ผ๋ก ์ฒ๋ฆฌํ๋ ๋ฐ์ดํฐ๋ ์ค์ง ํ๋ฒ๋ง ์ฒ๋ฆฌํ๋ค! ๋ฌด์ ํ์ผ ์๋ ์๋ค. -> ๊ทผ๋ฐ Short Circuit ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ์ ํํ ์ ์๋ค. ์ค๊ฐ ์คํผ๋ ์ด์ ์ ๊ทผ๋ณธ์ ์ผ๋ก lazyํ๋ค. ์์ฝ๊ฒ ๋ณ๋ ฌ์ฒ๋ฆฌํ ์ ์๋ค. 2๏ธโฃ ์คํธ๋ฆผ ํ์ดํ๋ผ์ธ 0 ๋๋ ๋ค์์ ์ค๊ฐ ์คํผ๋ ์ด์ (Intermediate operation) ๊ณผ ํ๊ฐ์ ์ข ๋ฃ ์คํผ๋ ์ด์ (Terminal operation)์ผ๋ก ๊ตฌ์ฑํ๋ค. ์คํธ๋ฆผ์ ๋ฐ์ดํฐ ์์ค๋ ์ค์ง ํฐ๋ฏธ๋ ์คํผ๋ ์ด์ ์ ์คํํ ๋์๋ง ์ฒ๋ฆฌํ๋ค. 3๏ธโฃ ์ค๊ฐ ์คํผ๋ ์ด์ Stream์ ๋ฆฌํดํ๋ค. Stateless/..
2022.04.06 -
[JAVA] ๋ ์๋ฐ, Java 8 ํจ์ํ ์ธํฐํ์ด์ค์ ๋๋ค ํํ์
1๏ธโฃ ํจ์ํ ์ธํฐํ์ด์ค (Functional Interface) ํจ์ํ ์ธํฐํ์ด์ค๋ ์ถ์ ๋ฉ์๋๋ฅผ ๋ฑ ํ๋๋ง ๊ฐ์ง๊ณ ์๋ ์ธํฐํ์ด์ค๋ฅผ ๋งํ๋ค. SAM(Single Abstract Method) ์ธํฐํ์ด์ค @FunctionalInterface ์ ๋ ธํ ์ด์ ์ ๊ฐ์ง๊ณ ์๋ ์ธํฐํ์ด์ค์ด๋ค. 2๏ธโฃ ๋๋ค ํํ์ (Lambda Expression) ํจ์ํ ์ธํฐํ์ด์ค์ ์ธ์คํด์ค๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ผ๋ก ์ฐ์ผ ์ ์๋ค. ์ฝ๋๋ฅผ ์ค์ผ ์ ์๋ค!! ๋งค์๋ ๋งค๊ฐ๋ณ์, ๋ฆฌํด ํ์ , ๋ณ์๋ก ๋ง๋ค์ด ์ฌ์ฉํ ์๋ ์๋ค. -> ์ด๋ ๊ฒ ์ต๋ช ๋ด๋ถ ํจ์๋ก ํจ์ํ ์ธํฐํ์ด์ค์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค ์ ์๋๋ฐ ์ฌ๊ธฐ์ ๋๋ค๋ฅผ ์ฌ์ฉํด์ ์ฝ๋๋ฅผ ์ข ๋ ์ค์ผ ์ ์๋ค. 3๏ธโฃ ์๋ฐ์์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ํจ์๋ฅผ First Class Object๋ก ์ฌ์ฉํ ์ ์..
2022.04.06 -
[JAVA] 6. ์กฐ๊ฑด๋ฌธ
1๏ธโฃ ์กฐ๊ฑด๋ฌธ ์กฐ๊ฑด๋ฌธ์ ์กฐ๊ฑด์๊ณผ ๋ฌธ์ฅ์ ํฌํจํ๋ ๋ธ๋ญ{}์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ์กฐ๊ฑด์์ ์ฐ์ฐ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์คํํ ๋ฌธ์ฅ์ด ๋ฌ๋ผ์ ธ์ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฆ์ ๋ณ๊ฒฝํ ์ ์๋ค. ์ด๋ ๊ฒ ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ๋ฐ๊พผ๋ ์ญํ ์ ํ๋ ๋ฌธ์ฅ๋ค์ ์ ์ด๋ฌธ์ด๋ผ๊ณ ํ๋ค. ์กฐ๊ฑด๋ฌธ์ if, switch๋ฌธ ๋๊ฐ์ง๊ฐ ์์ผ๋ฉฐ ์ฃผ๋ก if๋ฌธ์ด ๋ง์ด ์ฌ์ฉ๋๋ค. 2๏ธโฃ if๋ฌธ if๋ฌธ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์กฐ๊ฑด๋ฌธ์ด๋ฉฐ ๋ค์๊ณผ ๊ฐ์ด '์กฐ๊ฑด์'๊ณผ '๊ดํธ{}' ๋ก ์ด๋ฃจ์ด์ ธ์๋ค. ๋ง์ผ(if) ์กฐ๊ฑด์์ด ์ฐธ true์ด๋ฉด ๊ดํธ{} ์์ ๋ฌธ์ฅ๋ค์ ์ํํ๋ผ. if(์กฐ๊ฑด์) { // ์กฐ๊ฑด์์ด ์ฐธ์ผ ๋ ์ํ๋ ๋ฌธ์ฅ๋ค์ ์ ๋๋ค. } ๋ธ๋ญ ๊ดํธ{}๋ฅผ ์ด์ฉํด์ ์ฌ๋ฌ ๋ฌธ์ฅ์ ํ๋์ ๋จ์๋ก ๋ฌถ์ ์ ์๋๋ฐ, ์ด๊ฒ์ ๋ธ๋ญ์ด๋ผ๊ณ ํ๋ค. ๋ธ๋ญ์์๋ ๋ณดํต ์ฌ๋ฌ ๋ฌธ์ฅ์ ๋ฃ๋๋ฐ ํ ๋ฌธ์ฅ๋ง ๋ฃ๊ฑฐ๋ ์..
2022.04.05 -
[JAVA] 5. ๋ ผ๋ฆฌ ์ฐ์ฐ์, ์กฐ๊ฑด ์ฐ์ฐ์, ๋์ ์ฐ์ฐ์
1๏ธโฃ ๋ ผ๋ฆฌ ์ฐ์ฐ์ &&, ||, ! || (OR ๊ฒฐํฉ) : ํผ์ฐ์ฐ์ ์ค ์ด๋ ํ ์ชฝ๋ง true์ด๋ฉด true๋ฅผ ๊ฒฐ๊ณผ๋ก ์ป๋๋ค. && (AND ๊ฒฐํฉ) : ํผ์ฐ์ฐ์ ์์ชฝ ๋ชจ๋ true์ด์ด์ผ true๋ฅผ ๊ฒฐ๊ณผ๋ก ์ป๋๋ค. - x๋ 10๋ณด๋ค ํฌ๊ณ , 20๋ณด๋ค ์๋ค. 10 < x && x < 20 - i๋ 2์ ๋ฐฐ์ ๋๋ 3์ ๋ฐฐ์์ด๋ค. i % 2 == 0 || i % 3 == 0 - i๋ 2์ ๋ฐฐ์ ๋๋ 3์ ๋ฐฐ์์ด์ง๋ง 6์ ๋ฐฐ์๋ ์๋๋ค. ( i % 2 == 0 || i % 3 == 0) && i % 6 != 0 - ๋ฌธ์ ch๋ ์ซ์ '0' ~ '9' ์ด๋ค. '0'
2022.04.05 -
[JAVA] Map- getOrDefault() ๋?
https://hyejin.tistory.com/508 [JAVA] ํ๋ก๊ทธ๋๋จธ์ค ๋ ๋ฒจ2. ์์ฅ ์คํ์ด๋ค์ ๋งค์ผ ๋ค๋ฅธ ์ท์ ์กฐํฉํ์ฌ ์ ์ด ์์ ์ ์์ฅํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์คํ์ด๊ฐ ๊ฐ์ง ์ท์ด ์๋์ ๊ฐ๊ณ ์ค๋ ์คํ์ด๊ฐ ๋๊ทธ๋ ์๊ฒฝ, ๊ธด ์ฝํธ, ํ๋์ ํฐ์ ์ธ ๋ฅผ ์ ์๋ค๋ฉด ๋ค ์๋ ์ ์ฒญ๋ฐ์ง๋ฅผ hyejin.tistory.com ํ๋ก๊ทธ๋๋จธ์ค ๋ ๋ฒจ2. ์์ฅ ๋ฌธ์ ๋ฅผ ํ๊ธฐ์ํด HashMap์ ์ฌ์ฉํ๋๋ฐ HashMap์ ๊ธฐ๋ณธํค๊ฐ์ด ๊ฐ์ผ๋ฉด value ๊ฐ์ ๋ฎ์ด๋ฒ๋ฆฌ๊ธฐ ๋๋ฌธ์ ๊ทธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ด๋ป๊ฒ ํ ๊น ํ๋ค๊ฐ getOrDefault()๋ฉ์๋๋ฅผ ๋ฐ๊ฒฌํ๋ค. getOrDefault(Object key, V defaultValue) key: ๊ฐ์ ๊ฐ์ ธ์์ผํ๋ ์์์ ํค defaultValue : ์ง์ ๋ ํค๋ก ๋งคํ๋ ๊ฐ์ด ์๋ ..
2022.04.05 -
[JAVA] 2. ๋ณ์ (Variable)
1๏ธโฃ ๋ณ์๋? ํ๋ก๊ทธ๋๋ฐ์ธ์ด์์์ ๋ณ์๋ ๊ฐ์ ์ ์ฅํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ์์ ๊ณต๊ฐ์ ์๋ฏธํ๋ค. ํ๋์ ๋ณ์์๋ ํ๋์ ๊ฐ์ ์ ์ฅํ ์ ์๊ธฐ ๋๋ฌธ์ ์๋ก์ด ๊ฐ์ ์ ์ฅํ๋ฉด ๊ธฐ์กด์ ๊ฐ์ ์ฌ๋ผ์ง๋ค. int(๋ณ์ํ์ ) age(๋ณ์๋ช ); ๋ณ์ํ์ ์ ๋ณ์์ ์ ์ฅ๋ ๊ฐ์ด ์ด๋ค ํ์ ์ธ์ง๋ฅผ ์ง์ ํ๋ ๊ฒ์ด๋ค. ๋ณ์์ด๋ฆ์ ๋ณ์์ ๋ถ์ธ ์ด๋ฆ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ด๋ฆ์ ๋ถ์ฌ์ฃผ๋ ๊ฒ์ด๋ค. ๋ณ์๋ฅผ ์ ์ธํ๋ฉด ๋ฉ๋ชจ๋ฆฌ์ ๋น ๊ณต๊ฐ์ ๋ณ์ํ์ ์ ์๋ง์ ํฌ๊ธฐ์ ์ ์ฅ๊ณต๊ฐ์ด ํ๋ณด๋๊ณ , ์ด ์ ์ฅ๊ณต๊ฐ์ ๋ณ์์ด๋ฆ์ ํตํด ์ฌ์ฉํ ์ ์๊ฒ ํ๋ค. 2๏ธโฃ ๋ณ์์ ์ด๊ธฐํ ๋ณ์๋ฅผ ์ ์ธํ ์ดํ๋ถํฐ๋ ๋ณ์๋ฅผ ์ ์ธํ ์ ์์ผ๋, ๊ทธ ์ ์ ๋ฐ๋์ ๋ณ์๋ฅผ ์ด๊ธฐํํด์ผํ๋ค. ๋ฉ๋ชจ๋ฆฌ๋ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ด ๊ณต์ ํ๋ ์์์ด๊ธฐ ๋๋ฌธ์ ์ ์ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ์ํด ์ ์ฅ๋ ์์์๋ ๊ฐ์ด ๋จ์..
2022.03.31 -
[JAVA] 1. ์๋ฐ
์ฝ๋ฉํ ์คํธ ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ๋ ์๋ฐ์ '์'๋ ๋ชจ๋ฅธ๋ค๊ณ ์๊ฐ์ด ๋ค์๊ณ , ๊ณต๋ถ์ ํ์์ฑ์ ๋๊ผ๋ค.. ๊ทธ๋ฆฌ๊ณ ์ ์ ์ผ์๋ก ๊ธฐ๋ณธ๊ธฐ๊ฐ ํํํ๊ฒ ์ข์ง์์๊น ์ถ์ด์ ๋ค์ํ๋ฒ ๋ณต์ต๋ ํ๊ณ , ๋ด๊ฐ ์์ง๋ง ์ ๋๋ก ์ฌ์ฉํ์ง ๋ชปํ๋ Stream๊ณผ ๋๋ค, ์ง๋ค๋ฆญ ๋ฑ ๋ ์ ๋๋ก ์๊ธฐ ์ํด์ ์ผ๋จ ์์ํด๋ณด๋ ค๊ณ ํ๋ค. ํด๊ทผํ๊ณ ํ๋ ค๋๊น ์๊ฐ์ ๊ฝค๋ ๊ฑธ๋ฆด๊ฒ ๊ฐ์๋ฐ ํฌ๊ธฐ๋ง ์ํ๋ฉด ๋๋ค๊ณ ์๊ฐํ๋ค..! ์๋ฌดํผ ์๋ฐ ๊ณต๋ถ ์์ ๐ 1๏ธโฃ ์๋ฐ๋? Java Programming Language ๋๋ฆ ์ปด๊ณต์ ์กธ์ ํ๊ณ ์ ์๋ฐ๋? ์ด๋ฌ๊ณ ์์ผ๋๊น ์์งํ ๋ถ๋๋ฝ๋ค.. ํ์ง๋ง ์ด์ ์์ํ๊ฑฐ ์๋ฐ๋?๋ถํฐ ์์ํ๋ฉด ์ด๋ ํ๊ฐ? ๋ฐฐ์์๋ ๋ถ๋๋ฌ์์ด ์๋คํ๋ค. ์๋ฐ๋ ์ฌ ๋ง์ดํฌ๋ก ์์คํ ์ฆ์์ ๊ฐ๋ฐํ์ฌ 1996๋ 1์์ ๊ณต์์ ์ผ๋ก ๋ฐํํ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด..
2022.03.30 -
[JAVA] ์ง๋ ฌํSerialization, ์ญ์ง๋ ฌํ Deserialization
0๏ธโฃ ์ง๋ ฌํ๋? ์ง๋ ฌํSerialization ์ด๋ ๊ฐ์ฒด๋ฅผ ๋ฐ์ดํฐ ์คํธ๋ฆผ์ผ๋ก ๋ง๋๋ ๊ฒ์ ๋งํ๋ค. ์ฆ, ๋ฐ์ดํฐ๋ฅผ ์คํธ๋ฆผ์ ์ฐ๊ธฐ ์ํด ์ฐ์์ ์ธ ๋ฐ์ดํฐ๋ก ๋ณํํ๋ ๊ฒ์ ๋งํ๋ค! ๊ทธ๋ผ ์ญ์ง๋ ฌํdeserialization์ด๋ ์คํธ๋ฆผ์ผ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๊ฒ์ ๋งํ๋ค. 1๏ธโฃ ObjectInputStream, ObjectOutputStream ์ง๋ ฌํ(์คํธ๋ฆผ์ ๊ฐ์ฒด๋ฅผ ์ถ๋ ฅ) ์๋ ObjectOutputStream์ ์ฌ์ฉํ๊ณ , ์ญ์ง๋ ฌํ(์คํธ๋ฆผ์ผ๋ก๋ถํฐ ๊ฐ์ฒด๋ฅผ ์ ๋ ฅ)์ ObjectInputStream์ ์ฌ์ฉํ๋ค. ์ง๋ ฌํํ ๋๋ ObjectOutputStream์ writeObject()๋ฅผ ์ฌ์ฉํด์ ๊ฐ์ฒด๋ฅผ ์ถ๋ ฅํ๋ฉด ๊ฐ์ฒด๊ฐ ํ์ผ์ ์ง๋ ฌํ๋์ด ์ ์ฅ๋๋ค. ์ญ์ง๋ ฌํํ ๋๋ ObjectInputStream์ read..
2022.03.09