하루하루 살아남기

[Java / 자바] 람다식 본문

개발/Java

[Java / 자바] 람다식

막막이 2021. 4. 12. 00:18
반응형

람다식

 

함수형 인터페이스를 통해 익명 내부 클래스를 구현하는 방법은, 람다식을 이용하여 함수형 프로그램이 가능합니다.

람다식을 쓰는 코드가 정말 깔끔해집니다. 다만 조금 생소해보일수 있고, 일회용함수이기때문에 재사용이 안됩니다.

 

사용법

매개변수와 실행문 사이에 화살표 연산자( -> ) 를 넣어서 둘을 구분합니다.

매개변수가 한개일때는 괄호 생략이 가능합니다. 매개변수는  추상메서드에서 자료형을 정의함으로 따로 적어줄 필요가 없습니다. 즉, 스스로 추론하여 인식합니다. 예를 들어 보겠습니다.

 

함수형 인터페이스에 String형 매개변수를 한개 정의했습니다. 반환 자료형은 void입니다

 

    public class Lamda {

        public static void main(String[] args) {
            Test2 lamda = (n) -> System.out.println(n);
            lamda.test("람다 테스트");

        }

        @FunctionalInterface
        interface Test2 {
            public abstract void test(String testString);
        }

    }

 

Test2 인터페이스를 구현받아서 test메서드를 람다식으로 재구현한것입니다. 위 코드는

 

    public class Lamda {

        public static void main(String[] args) {
            Test2 lamda = new Test2() {
                @Override
                public void test(String testString) {
                    System.out.println(testString);
                }
            };
            lamda.test("람다 테스트");

        }

        @FunctionalInterface
        interface Test2 {
            public abstract void test(String testString);
        }

    }

 

내부 클래스로 표현한 이 코드와 같습니다. 다만 표현을 람다식으로 표현한것입니다.

어떤가요 람다식이훨씬 간결해 보이지 않나요?

 

 

728x90
반응형

'개발 > Java' 카테고리의 다른 글

[ Java / 자바 ] 함수형 인터페이스  (0) 2021.04.10
[Java / 자바 ] 사용자 정의 예외  (0) 2021.04.03
[Java / 자바] 예외 발생시키기  (0) 2021.04.03
[Java / 자바] Throws  (0) 2021.04.01
[Java / 자바] 예외처리  (0) 2021.04.01
Comments