Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

Super Coding Addict

Ch12. 람다식 (2) 본문

JAVA 문법

Ch12. 람다식 (2)

밍응애 2021. 2. 6. 00:54

* 함수를 변수처럼 사용하는 람다식

- 변수 : 자료형에 기반하여 선언 / 매개변수로 전달 / 메서드의 반환값으로 사용

--> 람다식을 프로그램내에서 이러한 변수처럼 사용할 수 있다!

 

* 예제 

# TestLambda 클래스

package ch12.lambda;

interface PrintString{
	void showString(String str);
}

public class TestLamda {

	public static void main(String[] args) {
		
		PrintString lambdaStr = s->System.out.println(s);
		lambdaStr.showString("Test");
		
		showMyString(lambdaStr);
		
		PrintString test = returnString();
		test.showString("Test3");
	}
	
	public static void showMyString(PrintString p) {	//람다식을 매개변수로 쓰기
		p.showString("Test2");
	}
	
	public static PrintString returnString() {
		return s->System.out.println(s + "!!!");
	}

}

 

 

 

코드를 구체적으로 살펴보면,

 

# 자료형에 기반하여 선언

interface PrintString{
	void showString(String str);
}

public class TestLamda {

	public static void main(String[] args) {
		
		PrintString lambdaStr = s->System.out.println(s);
		lambdaStr.showString("Test");

--> 앞에서 살펴보았듯 함수형 인터페이스를 구현한 람다식으로 마치 이 람다식이 lambdaStr변수에 들어가는 변수처럼 쓰이고 있다

--> 결과값은 Test

 

# 람다식을 매개변수로 전달

interface PrintString{
	void showString(String str);
}

public class TestLamda {

	public static void main(String[] args) {
		
		PrintString lambdaStr = s->System.out.println(s);
		lambdaStr.showString("Test");
		
		showMyString(lambdaStr);

    public static void showMyString(PrintString p) {	//람다식을 매개변수로 쓰기
        p.showString("Test2");
    }
}

--> 람다식을 자체를 매개변수로 showMyString 메서드를 호출

--> 결과값은 Test2

 

 

# 람다식을 메서드의 반환값으로 사용

interface PrintString{
	void showString(String str);
}

public class TestLamda {

	public static void main(String[] args) {
    
		PrintString test = returnString();
		test.showString("Test3");
	}
	
	public static PrintString returnString() {
		return s->System.out.println(s + "!!!");
	}
}

--> returnString메서드에서 PrintString형인 람다식을 반환

--> 반환받은 PrintString형 변수 test에서 showString메서드 호출

--> 결과값은 Test3

'JAVA 문법' 카테고리의 다른 글

Ch12. 스트림 (2)  (0) 2021.02.06
Ch12. 스트림 (1)  (0) 2021.02.06
Ch12. 람다식 (1)  (0) 2021.02.06
Ch07. 상속과 다형성 (1)  (0) 2021.01.22
Ch06. 배열(2)  (0) 2021.01.20