본문 바로가기
Language/자바

자바 클로저에 대한 짧은..

by 띵커베르 2023. 2. 22.
728x90
  • 클로저는 다른 함수의 스코프에 있는 변수를 참조하고 저장할 수 있는 함수를 말한다.
  • 자바에서는 함수를 일급 객체로 다룰 수 있게 됩니다.
import java.util.function.Supplier;

public class ClosureExample {
    public static void main(String[] args) {
        // 클로저를 이용한 간단한 덧셈 함수 예시
        int a = 10;
        int b = 20;
        Supplier<Integer> adder = () -> a + b;
        System.out.println("Result: " + adder.get()); // Result: 30

        // 클로저를 이용해 값을 변경하는 예시
        int c = 5;
        Runnable updater = () -> {
            c++; // 클로저가 참조하는 변수인 c의 값 변경
            System.out.println("Updated value: " + c);
        };
        updater.run(); // Updated value: 6
        updater.run(); // Updated value: 7
    }
}
  • adder gkatnsms `a` 와 `b`를 참조하고 변수의 값을 변경하지 않지만
  • 클로저의 개념을 이용해 다른 함수에서 참조 가능한 함수를 만들어냄
  • updater 함수는 `c`변수를 참조하고 값을 변경함.
728x90

댓글