[JAVA] 람다식 기초

2021. 5. 8. 15:20

람다식을 이해하기 위해선 익명 함수(anonymous function), 익명 구현 객체를 이해하고 넘어가야 한다.

익명 함수 혹은 익명 구현 객체는 자주 사용하지 않는 일회성의 구현 객체를 의미한다.

우리가 쉽게 아는 익명 함수는 쓰레드를 생성할때 사용하는 Runnable객체 에서 볼수있는데,

Runnable runnable = new Runnable(){
    public void run(){...}
}

runnable이 사용 될 때만 사용되는 run 함수가 익명 함수라고 할 수 있다.

람다식은 이것을 편하게 만들어 줄 수 있는데

Runnable runnable = () -> {...};

이것이 람다식의 형태이다.

소괄호, () 부분에는 매개변수가 들어가고 중괄호, {} 부분에는 실행문이 들어가게 된다.

람다식은 한개의 추상메소드를 갖는 인터페이스가 있을때 사용이 되는데 예시를 들어보자면

//인터페이스
@FunctionalInterface //두개 이상의 추상 메소드 컴파일 에러 발생시킴
public interface hello {

    public void method();
}

//메인
public class 람다식 {
    public static void main(String[] args) {
        hello lam;
        lam = () ->{
            String name = "홍길동";
            System.out.println(name);
        };
        lam.method();        
    }
}

위의 경우처럼 실행 할 경우 "홍길동이 출력된다."

인터페이스에 있는 메소드에 파라미터가 있거나 return타입이 존재한다면

소괄호와 중괄호 마지막에 추가해주면 된다.

짧은 시간동안 개발을 공부하면서 람다식을 경험할 기회가 많지 않았고

그 활용방안에 대해서는 의문점이 많이 남지만 일단은 기본적인 개념을 잡고자 정리하였다.

추후에 람다식을 활용한 예제나 상황을 겪게 된다면 블로그에 추가적으로 기술할 예정입니다.

+ Recent posts