본문 바로가기
728x90
반응형

전체 글565

[Java] 27 ~ 28. Test1 (Outer10클래스의 내부 클래스 Inner1, inner2 의 멤버변수 iv의 값 출력) package chap10; //Outer10클래스의 내부 클래스 Inner1, inner2 의 멤버변수 iv의 값 출력 class Outer10 { class Inner1 { int iv = 100; } static class Inner2 { int iv = 200; } } public class Test0318_1 { public static void main(String[] args) { } } 2022. 3. 23.
[Java] 28. Lambda6 (Java API의 FunctionInterface 사용하기) package chap10; /* * Java API의 FunctionInterface 사용하기 * Consumer 인터페이스 * void accept(매개변수) 추상메서드 : 매개변수 존재. 리턴값 없음. * * 제네릭 : : 매개변수의 자료형 설정. 참조자료형만 가능. * 기본자료형은 제네릭표현 안함. */ import java.util.function.*; public class LambdaEx6 { public static void main(String[] args) { //제네릭 : : 매개변수의 자료형 설정 Consumer c0 = t->System.out.println(t+8); //108 c0.accept(100); Consumer c1 = t->System.out.println(t+8);.. 2022. 3. 23.
[Java] 28. Lambda5 (함수객체에서 지역변수 사용시 지역변수는 상수화 되어야 함.) package chap10; class Outer4 { public int iv = 10; void method() { int iv = 20; //지역변수 //iv++; LambdaInterface1 f = () -> { //함수객체에서 지역변수 사용시 지역변수는 상수화 되어야 함. System.out.println("iv=" + iv); System.out.println("this.iv=" + this.iv); //10 System.out.println("Outer4.this.iv=" + Outer4.this.iv); //10 }; f.method(); } } public class LambdaEx5 { public static void main(String[] args) { new Outer4().m.. 2022. 3. 23.
[Java] 28. Lambda4 (매개변수, 리턴값이 있는 경우) package chap10; /* * 매개변수, 리턴값이 있는 경우 * (매개변수,매개변수) -> { return 리턴값 }; * 리턴값 : 추상메서드의 리턴타입인 값 * * 구현되는 문장이 return 값 인 경우는 return 구문을 생략 가능 */ interface LambdaInterface4 { int method(int x, int y); } public class LambdaEx4 { public static void main(String[] args) { LambdaInterface4 f = (x,y) -> { return x+y; }; f=(x,y)->x+y; System.out.println(calc(f,10,20)); System.out.println(calc((x,y)->x+y,10.. 2022. 3. 23.
728x90
반응형