람다(2)
-
람다식 로컬 변수 - 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.01.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.01.28