๊ฐ๋ ์ ๋ฆฌ ์์ ์ค(70)
-
[Java] Wrapper Class
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค! ์ค๋์ ์๋ฐ์ Wrapper Class์ ๋ํด ์์๋ณด๊ณ ์ถ์ ๊ฒ์ด์์! ์๋ฐ์ Optional์์ ํ์ํ ๊ฐ๋ ์ด๋ ๊ผญ ์์ง ํ์ จ์ผ๋ฉด ์ข๊ฒ ์ด์! ๋ฐ๋ก ์์ ํด ๋ณด๊ฒ ์ต๋๋ค! ๐ ๋ํผํด๋์ค๋(Wrapper Class)? ํ๋ก๊ทธ๋จ์ ๋ฐ๋ผ ๊ธฐ๋ณธ ํ์ ์ Data๋ฅผ ๊ฐ์ฒด๋ก ์ทจ๊ธํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ ๊ฒ์ด์์. ์๋ฅผ ๋ค์๋ฉด? Method์ ์ธ์๋ก ๊ฐ์ฒด ํ์ ๋ง์ด ์๊ตฌ๋๋ฉด, ๊ธฐ๋ณธ ํ์ ์ Data๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ ์๋ ์๋ ๊ฒ์ด์์. ์ด ๋์๋ ๊ธฐ๋ณธ ํ์ ์ Data๋ฅผ ๋จผ์ ๊ฐ์ฒด๋ก ๋ณํํ ๋ค ์์ ์ ์ํํด์ผ๊ฒ ์ง์? ์ด๋ ๊ฒ 8๊ฐ์ ๊ธฐ๋ณธ ํ์ ์ ํด๋นํ๋ Data๋ฅผ ๊ฐ์ฒด๋ก ํฌ์ฅํด ์ฃผ๋ ํด๋์ค๋ฅผ ๋ํผ ํด๋์ค๋ผ๊ณ ํ๋ต๋๋ค. ๋ํผ ํด๋์ค๋ ๊ฐ๊ฐ์ ํ์ ์ ํด๋นํ๋ Data๋ฅผ ์ธ์๋ก ์ ๋ฌ๋ฐ์, ํด๋น ๊ฐ์ ๊ฐ์ง..
2021.06.22 -
[JAVA] ํจ์ํ ์ธํฐํ์ด์ค
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค! ์ค๋์ Lamda์ ๊ฐ๋ ์์ ์ฐ์ฅ์ ์์ธ ํจ์ํ ์ธํฐํ์ด์ค์ ๋ํด ๊ณต๋ถ ํด ๋ณด๋๋ก ํ๋ ๊ฒ์ด์์. Lamda๊ฐ ๋ฌด์์ธ์ง ๋ชจ๋ฅด์ ๋ค๋ฉด? ๋๋ค ํผ๋์ ๊ด์ฌ์ ์ฃผ์ธ์! ๐ ํจ์ํ ์ธํฐํ์ด์ค๋? ๐ ๋จ ํ๋์ ์ถ์ Method๋ง ์ ์ธ๋ ์ธํฐํ์ด์ค interface MyFunction { /* ํจ์ํ ์ธํฐํ์ด์ค ์์ ์ฝ๋ */ public abstract int max ( int a, int b ); } ์์ ๊ฐ์ ๋ ์๋์ ๊ฐ์ด ํด ์ฃผ๋ ๊ฒ์ด ์ข์ ๊ฒ์ด์์! @FunctionalInterface interface MyFunction { public abstract int max ( int a, int b); } ์ปดํ์ผ๋ฌ๊ฐ Annotation์ ๋ณด๊ณ , ์ฌ๋ฐ๋ฅธ์ง๋ฅผ ํ์ธ ํด ์ฃผ๊ธฐ ๋๋ฌธ์ ์ ..
2021.06.21 -
[Java] Lamda Function
์๋ ํ์ธ์? ์ฃผ๋ํ๋์ ๋๋ค! ์ค๋์ JDK 1.8๋ถํฐ ์ง์์ด ๋๋ Lamda์ ๋ํด ๊ณต๋ถ ํด ๋ณด๋๋ก ํ ๊ฒ์ด์์! Spring Boot๋ก Web Project๋ฅผ ํ๊ณ ์๋๋ฐ, Lamda์ Optional์ด ์ฌ์ฉ๋๊ธฐ์ ๊ณต๋ถ๋ฅผ ํด ๋ณด๋ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ ์ค๋ช ํ๊ธฐ์ ์ ์จ ์ฐ๋ฆฌ๋ ํจ์ํ ์ธ์ด์ ๋ํด์ ์ ํ์๊ฐ ์๋ ๊ฒ์ด์์. ์๋ฐ๋ ์ฐ๋ฆฌ๊ฐ ์ ๋ฏ OOP์ธ์ด(๊ฐ์ฒด ์งํฅ ์ธ์ด)์ธ๋ฐ, JDK 1.8 ๋ถํฐ ํจ์ํ ์ธ์ด์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๊ฒ์ด์์. ์ฌ์ค ํจ์ํ ์ธ์ด ๊ธฐ๋ฅ์ ๊ฐ์ก๋ค๋ผ๊ณ ํ๊ธฐ์๋ ์ฝํ๊ณ , ๊ทธ ๊ธฐ๋ฅ์ ํฌํจํ๋ค๋ผ๊ณ ๋ณด๋ ๊ฒ์ด ๋ง์ต๋๋ค! ํ์ด์ฌ, JavaScript ์ญ์ OOP์ด์ง๋ง, ํจ์ํ ์ธ์ด ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์๋ต๋๋ค! ๊ทธ๋ผ ์์ ํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค! ๐ ๋๋ค์(Lambda Expression) ๐ ํจ์(M..
2021.06.21 -
[Java] Enum (์ด๊ฑฐํ)
Enum์ด๋? ์ปดํจํฐ ํ๋ก๊ทธ๋๋ฐ์์ ์ด๊ฑฐํ(enumerated type, enumeration), ์ด๋(enum), ํฉํฐ(factor โ R ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํต๊ณํ์ ๋ฒ์ฃผํ ๋ณ์์์ ๋ถ๋ฅด๋ ๋ช ์นญ)๋ ์์, ๋ฉค๋ฒ๋ผ ๋ถ๋ฆฌ๋ ๋ช ๋ช ๋ ๊ฐ์ ์งํฉ์ ์ด๋ฃจ๋ ์๋ฃํ์ธ ๊ฒ์ด์์. ์ด๊ฑฐ์ ์ด๋ฆ๋ค์ ์ผ๋ฐ์ ์ผ๋ก ํด๋น ์ธ์ด์ ์์ ์ญํ ์ ํ๋ ์๋ณ์์ด์ง์. ์ผ๋ถ ์ด๊ฑฐ์ ์๋ฃํ์ ์ธ์ด์ ๊ธฐ๋ณธ ์์๋์ด ์์ ์ ์๋ ๊ฒ์ด์์. ๋ถ๋ฆฌ์ธ ์๋ฃํ์ ์๋ก ๋ค๋ฉด ๊ฑฐ์ง(False)๊ณผ ์ฐธ(True)์ ๊ฐ์ด ๋ฏธ๋ฆฌ ์ ์๋ ์ด๊ฑฐํ์ผ๋ก ๋ณผ ์ ์์ง์. ์๋ง์ ์ธ์ด๋ ์ฌ์ฉ์๋ค์ด ์๋ก์ด ์ด๊ฑฐํ์ ์ ์ํ ์ ์๊ฒ ํ๊ณ ์๋ต๋๋ค. ์ด๊ฑฐํ์ ๊ฐ๊ณผ ๋ณ์๋ ์ผ๋ฐ์ ์ผ๋ก ๊ณ ์ ๊ธธ์ด์ ๋นํธ ๋ฌธ์์ด๋ก ๊ตฌํ๋๋ฉฐ, ์ด๋ ์ผ๋ถ ์ ์ํ๊ณผ ํธํ๋๋ ํฌ๋งท๊ณผ ํฌ๊ธฐ๋ก ๋์ด ์๋ต๋..
2021.06.20 -
[Java] ํด๋์ค, ์์, getter, setter, ํ๋ณํ, super, ์ค๋ฒ๋ผ์ด๋ฉ์ ํ์ฉํ ์์
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. 03์ 16์ผ ์์ ๋ฅผ ํ๋ฒ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค! ์์ ๋ด์ฉ์ ๊ณต์ ํด์ ์ฌ๋ฌ๋ถ๋ค๊ป์๋ ๊ณต๋ถํ์๋๋ฐ, ๋ง์ ๋์ ๋์๊ธฐ ๋ฐ๋ผ๊ฒ ์ต๋๋ค! ๊ทธ๋ผ ๋ฐ๋ก ์์ ํด ๋ณด๊ฒ ์ต๋๋ค! ๐ ๋๋ ์ค๊ณ์! Super Class์ Sub Class(2๊ฐ ์ ๋)๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ํํํ๋ ํ๋ก๊ทธ๋จ ๊ตฌํ ๊ฐ ํด๋์ค๋ง๋ค ๋ณ์, ๋ฉ์๋, ์์ฑ์๋ฅผ ์ฐ์ ์ ์ํด์ผ ํ๋ค. getter, setter, ์์, ํ๋ณํ, super ํค์๋, ์ค๋ฒ๋ผ์ด๋ฉ์ ์ฌ์ฉํ ๊ฒ! ๐ ํด๋์ค ๊ตฌํํ ๐์ฃผ์ : ์ปคํผ์ ํด๋์ค ์ด๋ฆ ์ค ๋ช Cafe.java Main Method People.java private String name; // ์ด๋ฆ private String phoneNum; // ํธ๋ํฐ ๋ฒํธ private String a..
2021.03.16 -
[Java] Class์ ๋ํ์ฌ (๋ฏธ์์ฑ)
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. 03์ 15์ผ ์์ ๋ก Class์ ๋ํ์ฌ ์กฐ์ฌํ๋ ๊ฒ์ ๋ฐ์ ๊ฒ์ด์์! ์์ ๋ด์ฉ์ ๊ณต์ ํด์ ์ฌ๋ฌ๋ถ๋ค๊ป์๋ ๊ณต๋ถํ์๋๋ฐ, ๋ง์ ๋์ ๋์๊ธฐ ๋ฐ๋ผ๊ฒ ์ต๋๋ค! ๊ทธ๋ผ ๋ฐ๋ก ์์ ํด ๋ณด๊ฒ ์ต๋๋ค! ๐ Class ์์ 01 ๐ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP, Object-Oriented Programing) ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์์๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฒด(Object)๋ก ์ทจ๊ธํ๋ฉฐ, ์ด๋ฌํ ๊ฐ์ฒด๊ฐ ๋ฐ๋ก ํ๋ก๊ทธ๋๋ฐ์ ์ค์ฌ์ด ๋๋ ๊ฒ์ด์์. ๊ฐ์ฒด(Object)๋ ๊ฐ๋จํ ์ด์ผ๊ธฐํ์๋ฉด ์ค ์ํ์์ ์ฐ๋ฆฌ๊ฐ ์ธ์ํ ์ ์๋ ์ฌ๋ฌผ๋ก ์ค๋ช ํ ์ ์๊ฒ ์ต๋๋ค. ์ด๋ฌํ ๊ฐ์ฒด์ ์ํ(State)์ ํ๋(Behavior)์ ๊ตฌ์ฒดํํ๋ ํํ์ ํ๋ก๊ทธ๋๋ฐ์ด ๋ฐ๋ก ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ ๋๋ค. ์ด ๋! ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด ๋ด..
2021.03.15