본문 바로가기

JAVA/DAY 20 _ 23.09.13

Lambda3_구현코드가 한줄일때 활용법

// 인터페이스 생성

 

// - > 인터페이스의 매개변수가 1개인 경우
// t1~4들이 내가 생성했어야했던 클래스들의 이름이라고 생각하니까 괜찮네

// 1. 리턴있을때
interface TTT{
	
	public int some(int a);
	
}


// 2. 리턴없을때
interface CCC{
	
	public void test(int a);
	
}

 

// 정석

TTT t1 = (a)->{
    return a+3;			
};
int result = t1.some(5);	// 1회성이니까 이제 t1은 안녕~
System.out.println(result);


TTT t2 = (a)->{
    return a-3;
};
int result2 = t2.some(5);	
System.out.println(result2);

 

★★★ 1. 일반적 사용방법 : 매개변수가 1개니까 소괄호를 빼도 된다구~ 

TTT t3 = a ->{
        return a+10;
    };

 

2. 구현코드가 단 한줄인 경우

// 1) 리턴해야되는경우
TTT t4 = a -> a+5;
int result4 = t4.some(8);
System.out.println(result4);


// 2) 리턴 안해도 되는경우

// 한줄인 경우 a에 소괄호 빼버려~
CCC c1 = a->{
    System.out.println(a);
};

// 한줄인 경우 중괄호 빼버려~
CCC c2 = a-> System.out.println(a);

 

++ 메서드참조)

// 매서드 참조(람다식은 아님)
CCC c3 = System.out::println;
// --> System.out 객체의 println 메서드를 가리키고 있음
// --> 각 요소를 System.out.println 메서드로 출력하라는 의미!!!
c3.test(10); 		
// 출력 : 10 -> a를 프린트하겠다는 코드니까 따로 출력하지 않아도 출력이 잘된당

'JAVA > DAY 20 _ 23.09.13' 카테고리의 다른 글

Lambda5_consumer(interface)  (0) 2023.09.13
Lambda4_메서드참조  (0) 2023.09.13
Lambda2  (0) 2023.09.13
(람다식하기 전) interface review  (0) 2023.09.13
Lambda Basic  (0) 2023.09.13