๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[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.