1. 해당 메서드를 람다식으로 표현하시오.
int sumArr(int[] arr){
	int sum =0;
	int i;
	for(i : arr) 
		sum += i;
	return sum;
}
  1. 틀린 곳을 바르게 고쳐주세요.
@FunctionalInterface
    interface MyFunction{
        void myMethod();
    }
    class Outer{
        int val = 27;
        class Inner{
            int val=47;

            void method(int i){
                int val=39;
                i = 17; // 2
                MyFunction f = (i) ->{ // 1
                    System.out.println(" i " + i);
                    System.out.println(" val " + val);
                    System.out.println(" i " + ++this.val);
                    System.out.println(" i " + ++Outer.this.val);
                };
                f.myMethod();
            }
        }
    }
    class Main{
    public static void main(String[] args) {
        Outer outer = new Outer();
        Outer.Inner inner = outer.new Inner();
        inner.method(49);
    }
}

위 문제 코드에서 i가 왜 상수일까 ??

  1. 위의 코드의 출력 값은 ?