int sumArr(int[] arr){
int sum =0;
int i;
for(i : arr)
sum += i;
return sum;
}
@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가 왜 상수일까 ??