람다식

Java 프로그래밍 - 람다식

interface ComputeTool {
    public abstract int compute(int x, int y);
      // 람다식의 경우엔 둘중 뭐인지 몰라서 적용이 안됨.
//    public abstract int compute2(int x, int y);
}



public class Main {

    public static void main(String[] args) {

        ComputeTool cTool1 = new ComputeTool() {
            @Override
            public int compute(int x, int y) {
                return x + y;
            }
        };
        System.out.println(cTool1.compute(1, 2));

        
        // 람다식
        ComputeTool cTool2 = (x, y) -> { return x + y; };
        System.out.println(cTool2.compute(1, 2));

    }
}
3
3
// Practice
// 아래 인터페이스를 이용하여 익명클래스로 구현한 내용을 람다식으로 구현해보세요.

interface CompareTool {
    public abstract int getMaxNum(int num1, int num2);
}

public class Practice {
    public static void main(String[] args) {
        // Test code
        CompareTool cTool = new CompareTool() {
            @Override
            public int getMaxNum(int num1, int num2) {
                return num1 > num2? num1 : num2;
            }
        };
        System.out.println(cTool.getMaxNum(10, 11));


        // 람다식으로 작성
        CompareTool cTool2 = (num1, num2) -> { return num1 > num2? num1 : num2; };
        System.out.println(cTool2.getMaxNum(10, 11));
    }
}
11
11

Tags:

Categories:

Updated:

Leave a comment