๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐ŸŒพBackEnd/๐Ÿ› Java2

๋žŒ๋‹ค์‹ ๋กœ์ปฌ ๋ณ€์ˆ˜ - Effectively Final Effectively Final Java8์—์„œ final์ด ๋ถ™์ง€ ์•Š์€ ๋ณ€์ˆ˜์˜ ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ๊ทธ ๋ณ€์ˆ˜๋ฅผ Effectively final์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋žŒ๋‹ค์—์„œ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋กœ์ปฌ ๋ณ€์ˆ˜๋Š” Effectively Final๋งŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. public class EffectivelyFinal { public static void main(String[] args) { new Pint().go(); } } class Pint { void go() { int baseAnInt = 111; Function function = (num) -> num + baseAnInt; System.out.println(baseAnInt+"baseAnInt"); System.out.println(function.a.. 2023. 1. 28.
ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ & ๋žŒ๋‹ค ๐Ÿ˜ถ‍๐ŸŒซ๏ธํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ Java๋Š” ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•˜์ง€๋งŒ JDK8๋ถ€ํ„ฐ Stream API์™€ ๋žŒ๋‹ค์‹, ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค ๋“ฑ์„ ์ง€์›ํ•˜๋ฉด์„œ Java๋ฅผ ์ด์šฉํ•ด ํ•จ์ˆ˜ํ˜•์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•  ์ˆ˜ ์žˆ๋Š” API ๋“ค์„ ์ œ๊ณตํ•ด์ฃผ๊ณ  ์žˆ๋‹ค. First Class Citizon First Class Citizon ์€ ์•„๋ž˜์˜ ์†์„ฑ๋“ค์„ ๋ชจ์ฃผ ๋งŒ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. • ๋ณ€์ˆ˜์— ๊ฐ’์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. • ํ•จ์ˆ˜์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋„˜๊ฒจ์ค„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. • ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜๊ฐ’์ด ๋  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html Function (Java Platform SE 8 ) doc.. 2023. 1. 28.