JAVA 람다 표현식(Lambda Expression) 개요

728x90
< 람다 표현식 개요 >
- 람다 표현식은 이름이 없는 익명 함수를 의미
- Java에서 함수형 코드를 사용가능케 함.
- 람다 표현식을 사용하여 명확하게 표현 가능
 
< 람다 표현식의 특징>
  1. 익명 : 메소드와 달리 익명으로 표현하며 코드가 간결해짐
  2. 함수 : 람다는 메소드처럼 특정 클래스에 종속되지 않기 때문에 함수라고 부름 다만 일부 예외 리스트를 포함함
  3. 전달 : 람다 표현식을 메소드 인수로 전달하거나 변수로 저장하는 것은 불가능
  4. 간결성 : 익명 클래스에서와 같은 코드를 계속해서 구현할 필요가 없음.
 
< 람다 구성 >
  • 파라미터 리스트 : *** 메서드의 파라미터()  : (int a1, int a2, int a3...)
  • 화살표 : 화살표 ( -> )는 람다의 바디와 파라미터 리스트를 구분
  • 람다의 바디 : 람다의 반환 값에 해당하는 표현식


<예제1>

package pack2;
public class ThreadClass {
       public void sendMail(String msg) {
              System.out.println("메일 전송: " + msg);
       }
       public ThreadClass() {
              method1();
              method2();
              method3();
       }
       void method1() {
              // 전통적 방식
              new Thread(new Runnable() {
                     @Override
                     public void run() {
                           sendMail("method1");
                     }
              }).start();
       }
       // 람다 사용
       void method2() {
              Thread thread = new Thread(() -> sendMail("method2"));
              thread.start();
       }
       void method3() {
              new Thread(() -> sendMail("method3")).start();
                     }
       
              
       public static void main(String[] args) {
              new ThreadClass();
       }
}



< 예제2 >

package pack;
import javax.swing.JButton;
import javax.swing.JFrame;
public class ButtonLambda extends JFrame{
       public ButtonLambda() {
              super("람다 적용 연습");
              
              setLayout(null); // 레이아웃을 쓰지 않겠다.
              //1번째 버튼
              JButton btn = new JButton("버튼1");
              btn.setBounds(10,50,200,50);
              add(btn);
              
              setBounds(200,200,300,400);
              setVisible(true);
              setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              btn.addActionListener(arg0 -> System.out.println("버튼을 클릭"));
              
              JButton btn2 = new JButton("버튼2");
              btn2.setBounds(10,150,200,50);
              add(btn2);
              setBounds(200,200,300,400);
              setVisible(true);
              setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        
              btn2.addActionListener(arg0 -> System.out.println("버튼을 클릭"));
              
       }
       
       public static void main(String[] args) {
              new ButtonLambda();
       }
}





본 포스팅은 IT 교육기관인 KIC 캠퍼스의 지원을 받은 리포트입니다.
혹시 잘못되거나 문제 소지시 댓글 남겨주시면 조치하겠습니다.


728x90