2020년 10월 1일 목요일

자바8, 람다식(Lambda Expression)이론,실습(자바/JAVA/자바강좌/자바동영상/자바강의/JAVA강의/JAVA동영상/JAVA교육/자바교육/자바학원)

 자바8, 람다식(Lambda Expression)이론,실습(자바/JAVA/자바강좌/자바동영상/자바강의/JAVA강의/JAVA동영상/JAVA교육/자바교육/자바학원)      


ojc.asia/bbs/board.php?bo_table=LecJava&wr_id=772

자바8, 람다식(Lambda Expression)이론,실습(자바/JAVA/자바강좌/자바동영상/자바강의/JAVA강의/JAVA동영��

자바8, 람다식(Lambda Expression)이론,실습(자바/JAVA/자바강좌/자바동영상/자바강의/JAVA강의/JAVA동영상/JAVA교육/자바교육/자바학원)1. 람다식(Lambda Expression)프로그래밍에서 식별자 없이 함수를 실행할

ojc.asia


https://youtu.be/slP0ABnU_Wc


 

1. 람다식(Lambda Expression)


프로그래밍에서 식별자 없이 함수를 실행할 수 있는 방법을 제공

자바8 이전에는 '메소드'라는 함수 형태가 존재하지만 객체를 통해서만 접근이 가능하고, 메소드 그 자체를 변수로 사용하지는 못한다.

자바8에서는 함수를 변수처럼 사용할 수 있기 때문에, 파라미터로 다른 메소드의 인자로 전달할 수 있고, 리턴값으로 함수를 받을 수도 있다. 

이름없는 익명 함수 구현에서 주로 사용한다.

함수형 인터페이스의 인스턴스(구현 객체)를 표현한다.

추상 메소드가 하나인 인터페이스를 함수형 인터페이스 하고 하고 이 구현 객체를 람디식으로 표현한다. 람다식으로 하나뿐인 추상 메소드를 구현하는데, 이를 통해 함수형 인터페이스를 구현하는 것이다.


프로그래밍에서 식별자 없이 함수를 실행할 수 있는 방법을 제공

유형 선언-람다식에서 매개 변수의 유형을 선언 할 필요가 없다. 컴파일러는 매개 변수 값에서 동일하게 추론 할 수 있습니다.

매개 변수 주위의 선택적 괄호-괄호 안에 단일 매개 변수를 선언 할 필요가 없습니다. 매개 변수가 여러 개인 경우 괄호가 필요하다.


선택적 중괄호-본문에 단일 문이 포함 된 경우 식 본문에 중괄호를 사용할 필요가 없다. 문장이 여럿인 경우 중괄호({}) 사용한다.


선택적 반환 키워드-본문에 값을 리턴하는 단일 표현식이 있는 경우 컴파일러는 자동으로 값을 반환한다.(식이 값을 반환 함을 나타내려면 중괄호가 필요함)



람다식 형식

(arg1, arg2...) -> { body }   

    body에 표현식이 없거나 한개이상 올 수 있다.

(params) -> expression

(params) -> statement

(params) -> { statements }

(int a, int b) -> {  return a + b; }

() -> System.out.println("Hello World"); //파라미터없고 Hello World 출력

(String s) -> { System.out.println(s); } //String s입력매개변수로 받아 출력

() -> 8514790            //파라미터없고 8514790가 리턴

() -> { return 3.14 };   //파라미터없고 3.14리턴


2. 실습1

interface Hello {

   void sayHello(String name);


// default를 쓰면 인터페이스 내부에서도 코드가 포함된 메소드를 선언 할 수 있다.

   default void sayDefaultHello(String name) {

      System.out.println("안녕~ " + name);

   }

}


public class LambdaTest {

   public static void main(String[] args) {

      Hello h = (name) -> System.out.println("hello~ " + name);

      h.sayHello("이종철");


      h.sayDefaultHello("이종철");

   }

}


안녕~ 이종철

hello~ 이종철


3. 실습2


package javatest;

import java.util.ArrayList;

import java.util.function.Consumer;

public class LambdaTest2 {

public static void main(String[] args) {


        ArrayList<String> list = new ArrayList<String>(); 

        list.add("SEOUL"); 

        list.add("BUSAN"); 

        

        list.forEach( new Consumer<String>() {

         public void accept(String s) {

         System.out.println(s);

         }

        });

  

        //Consumer I/F 구현객체를 람다로 구현

        list.forEach(s -> System.out.println(s)); 

        list.forEach(System.out::println); 

}

}



SEOUL

BUSAN

SEOUL

BUSAN

SEOUL

BUSAN




#자바람다식, #자바Lambda, #람다식, #자바8, #자바8람다, #자바#JAVA#자바동영상#자바강의#자바교육#자바강좌#자바동영상강의#추천자바강의#추천자바강좌#JAVA동영상#JAVA강의#JAVA강좌#JAVA교육#JAVA#추천JAVA강의#추천JAVA교육#추천JAVA강좌#자바소스#자바온라인교육#자바온라인강의   

댓글 없음:

댓글 쓰기

(C#교육동영상)C# ADO.NET 실습 ODP.NET/ODAC 설치 오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원

  (C#교육동영상)C# ADO.NET 실습  ODP.NET/ODAC 설치  오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원 https://www.youtube.com/watch?v=qIPU85yAlzc&list=PLxU-i...