[JAVA] ๋๋ค์(Lambda Expression) ๋๋ค์(Lambda Expression) JDK1.8๋ถํฐ ์ถ๊ฐ๋จ ๋๋ค์์ ๋์ โ ์๋ฐ = ๊ฐ์ฒด์งํฅ ์ธ์ด + ํจ์ํ ์ธ์ด โป ๊ฐ์ฒด์งํฅ ์ธ์ด์ ํจ์ํ ์ธ์ด๋? ๊ฐ๊ฐ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ ์ง์ํ๋ ์ธ์ด์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ ์ง์ํ๋ ์ธ์ด ๊ฐ์ฒด์งํฅ ํจ๋ฌ๋ค์ ๊ฐ์ ๋ฐ์ดํฐ์ ๋ํด ๋ค๋ฅธ ์ฒ๋ฆฌ ์ ์ฐจ(๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ์)๋ฅผ ์ฌ๋ฌ ๊ฐ ๋ช ์ํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์์ฃผ ๋ฐ์ํ๋๋ฐ, ์ด ๋ ๊ณตํต๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์ ์ฐจ๋ฅผ ํ๋๋ก ๋ฌถ์ด ๋ฐ์ดํฐ์ ์ฌ๋ฌ ์ ์ฐจ๋ฅผ ํ๋์ ๋จ์๋ก ๋ค๋ฃจ๋ ํจ๋ฌ๋ค์์ด๋ค. ํจ์ํ ํจ๋ฌ๋ค์ ์ฃผ์ด์ง ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ผ๋ก ๊ฐ์ฃผํ๊ณ ์๋ก์ด ๊ฐ์ ์์ฑํ๋ ํจ์์ ์ด์ ์ ๋ง์ถค์ผ๋ก์จ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ๋ํ ๋ถ๋ด์ ์ ๊ฑฐํ๋ค. 1. ๋๋ค์์ด๋? ๋ฉ์๋๋ฅผ ํ๋์ ๊ฐ๊ฒฐํ ์(expression)์ผ๋ก ํํํ ๊ฒ ๋ฉ์๋๋ฅผ .. 2020. 1. 23. [JAVA] List ๊ฐ์ฒด ๋ณต์ฌ ๋ฐฉ๋ฒ๊ณผ Collections.copy()์ ๊ดํ ๊ณ ์ฐฐ Card ํด๋์ค ์ ์ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 public class Card { private int front; // ์นด๋ ์๋ฉด ๋ฌธ๊ตฌ(์ซ์) private String back; // ์นด๋ ๋ท๋ฉด ๋ฌธ๊ตฌ(๋ฌธ์์ด) private boolean isFront; // ์นด๋ ์/๋ท๋ฉด ์ฌ๋ถ public Card(int front, String back) { this.front = front; this.back = back; this.isFront = true; } // ์นด๋์ ์/๋ท๋ฉด ์ฌ๋ถ์ ๋ฐ๋ฅธ ํ์ฌ ๋ฌธ๊ตฌ ๋ฐํ public String.. 2020. 1. 9. [JAVA] IntelliJ IDEA - Project language level ์ค์ ์ ์๋ฏธ IntelliJ IDEA์ Project Structure ์ฐฝ์์ Project SDK, Project language level ์ค์ ์ ์ฐพ์ ์ ์๋ค. โป ์ฐธ๊ณ - Project Structure ์๋จ ๋ฉ๋ด์ File - Project Structure ํด๋ฆญ ํน์ ๋จ์ถํค Ctrl + Alt + Shift + S (์๋์ฐ ๊ธฐ์ค) Project language level์ ์ค์ ๋ก ๋ฌด์์ ์ค์ ํ๋๊ฐ? Project language level์ IntelliJ์ editor(ํธ์ง๊ธฐ)์ java compiler๊ฐ ์ฌ์ฉํ language level์ ์ค์ ํ๋ค. ์๋ฅผ ๋ค์ด, JDK 1.7์ ์ฌ์ฉํ๊ณ ์์ง๋ง java ์ฝ๋๊ฐ JDK 1.6๊ณผ ํธํ๋๋๋ก ํ๋ ค๋ฉด language level์ ์ค์ JDK ์ง์(JDK 1.7.. 2020. 1. 7. [JAVA] IntelliJ IDEA - jar ํ์ผ export, import ๋ฐฉ๋ฒ 1. JAR ํ์ผ Export ์ ์์ ํ๋ก์ ํธ์ JarExample ๋ชจ๋์ jar ํ์ผ๋ก export ํ๋ คํ๋ค. IntelliJ๋ ํ ํ๋ก์ ํธ ์์ ๋ค์์ ๋ชจ๋์ ๊ฐ์ง ์ ์๋ค. ์ง๊ธ์ ํ๋์ ๋ชจ๋๋ง์ ๊ฐ๊ณ ์๋ ์ํ์ด๋ค. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Player{name='Tim', hitPoints=10, strength=15, weapon='Sword'} Saving Tim to storage device Saving 10 to storage device Saving 15 to storage device Saving Sword to storage device Player{name='Tim', hitPoints=8, strength=15, weapon='.. 2020. 1. 5. [JAVA] IntelliJ IDEA ์ฌ์ฉ ํ - Auto import ์ต์ ์ค์ File - Settings๋ฅผ ํด๋ฆญํ์ฌ ์ธํ ๋ฆฌJ ์ธํ ์ฐฝ์ ๋์ด๋ค. ๋จ์ถํค๋ Ctrl + Alt + S์ด๋ค. Editor - General - Auto Import์์ ๊ด๋ จ ์ต์ ๋ค์ ์ค์ ํ ์ ์๋ค. ์ด ์ค ์ฝ๋ ๋ณ๊ฒฝ๊ณผ ์ฝ๋ ๋ถ์ฌ๋ฃ๊ธฐ์ ๋ฐ๋ฅธ ์๋ import ์ต์ ์ ๋ํด ์ดํด๋ณด๋๋ก ํ๊ฒ ๋ค. ์ฝ๋ ๋ณ๊ฒฝ์ ๋ฐ๋ฅธ ์๋ import ์ต์ Optimize imports on the fly ์ต์ ์ ์ฝ๋๊ฐ ๋ณ๊ฒฝ๋จ์ ๋ฐ๋ผ ์๋์ผ๋ก ํจํค์ง import๋ฌธ์ ์ฝ์ /์ญ์ ํด์ฃผ๋ ์ต์ ์ด๋ค. ํ์ํ ํจํค์ง๋ ์๋์ผ๋ก ์ฝ์ ํ๊ณ ๋ถํ์ํ ํจํค์ง๋ ์๋์ผ๋ก ์ญ์ ํ๋ค. ํธ๋ฆฌํ ๊ธฐ๋ฅ์ด๋ฏ๋ก ํน๋ณํ ์ด์ ๊ฐ ์๋๊ฒ ์๋๋ผ๋ฉด ์ฒดํฌํ์ฌ ์ผ๋๋๊ฒ ์ข๋ค. ์ฝ๋ ๋ถ์ฌ๋ฃ๊ธฐ ์ import ์ต์ Insert imports on paste ์ต์ ์ ์ฝ๋๋ฅผ ๋ถ์ฌ.. 2020. 1. 3. JAVA 8 ๋ณ๊ฒฝ ์ฌํญ - interface์ default ํค์๋์ static ๋ฉ์๋ Java์์ ๊ธฐ์กด์ interface๋ ์ถ์ ๋ฉ์๋๋ง์ ๋ฉค๋ฒ๋ก ๊ฐ์ง ์ ์์๋ค. ๊ทธ๋ฐ๋ฐ Java8๋ถํฐ default ํค์๋๋ฅผ ์ฌ์ฉํด์ interface์ ๋ฉ์๋๋ฅผ ์ ์ธํ ์ ์๊ฒ ๋์๋ค. default ํค์๋ 1 2 3 4 5 6 7 8 9 10 public interface ICalculator { int add(int x, int y); int sub(int x, int y); default int mul(int x, int y) { return x * y; } } Colored by Color Scripter cs ๋ฉ์๋๋ฅผ default ํค์๋๋ฅผ ์ฌ์ฉํด ์ ์ธํจ์ผ๋ก์จ ๋ฉ์๋์ body, ์ฆ ๊ตฌํ๋ถ๋ฅผ ์์ฑํ ์ ์๊ฒ ๋์๋ค. ์ ์์๋ ์ธ ๊ฐ์ ๋ฉ์๋๋ฅผ ๋ฉค๋ฒ๋ก ๊ฐ๋ ICalculator interfac.. 2020. 1. 2. ์ด์ 1 2 ๋ค์