Community

๐Ÿ•Š๏ธ ์˜ˆ์ œ๋ฅผ ํฌํ•จํ•œ Java 21 ๊ธฐ๋Šฅ

์ด ๋ฌธ์„œ์—์„œ๋Š” JDK 21์— ๋„์ž…๋œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๊ฐœ์š”๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์„ ์‚ดํŽด๋ณด๊ณ  JDK 21์˜ ํฅ๋ฏธ๋กœ์šด ๋ฐœ์ „์— ๋Œ€ํ•ด ์•Œ์•„๋ด…์‹œ๋‹ค. ๐Ÿ“Œ String Templates (Preview) ์ž๋ฐ”์—์„œ ๋ฌธ์ž์—ด ํฌ๋งท ๋ฐ ์กฐ์ž‘ ๊ณผ์ •์„ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๋ณต์žกํ•œ ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•˜๊ณ  ํฌ๋งทํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. // As of Java 21 String productName = "Widget"; boolean productAvailable = true; String productInfo = `Product: ${productName} Availability: ${productAvailable ? "In Stock" : "Out of Stock"}`; System.out.println(productInfo); ๐Ÿ“Œ Sequenced Collections Sequenced Collection์˜ ๋„์ž…์€ ์ปฌ๋ ‰์…˜ ์ฒ˜๋ฆฌ๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๊ณ  ๋Šฅ๋ฅ ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ์ƒˆ๋กœ์šด ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ํ–ฅ์ƒ๋œ ๊ธฐ๋Šฅ์€ ์ž๋ฐ”์—์„œ ์ปฌ๋ ‰์…˜์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ์™€ ๋งˆ์ง€๋ง‰ ์š”์†Œ์— ์ ‘๊ทผํ•˜๋Š” ๊ธฐ์กด์˜ ๋ฒˆ๊ฑฐ๋กœ์šด ์ ‘๊ทผ ๋ฐฉ์‹์„ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. For List, Deque, Set First Element โ€” collection.getFirst() Last Element โ€” collection.getLast() ๐Ÿ“Œ Record Patterns ๋ ˆ์ฝ”๋“œ ํŒจํ„ด์œผ๋กœ ๋ ˆ์ฝ”๋“œ ๊ฐ’์„ ์žฌ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋ ˆ์ฝ”๋“œ ํŒจํ„ด๊ณผ ํƒ€์ž… ํŒจํ„ด์„ ์ค‘์ฒฉ์‹œ์ผœ ๋ณตํ•ฉ์ ์ธ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ ํƒ์ƒ‰ ๋ฐ ์ฒ˜๋ฆฌ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. // As of Java 21 static void printSum(Object obj) { if (obj instanceof Point(int x, int y)) { System.out.println(x+y); } } ๐Ÿ“Œ Pattern Matching for switch ์Šค์œ„์น˜ ๋ฌธ์— ๋Œ€ํ•œ ํŒจํ„ด ๋งค์นญ์œผ๋กœ ์ž๋ฐ” ์–ธ์–ด๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ํŒจํ„ฐ์— ๋Œ€ํ•ด ์‹์„ ํ…Œ์ŠคํŠธ ํ•˜์—ฌ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ์ค‘์‹ฌ์˜ ํ€„๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. // As of Java 21 static String formatterPatternSwitch(Object obj) { return switch (obj) { case Integer i -> String.format("int %d", i); case Long l -> String.format("long %d", l); case Double d -> String.format("double %f", d); case String s -> String.format("String %s", s); default -> obj.toString(); }; }

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค