본문 바로가기
Web/Java

Java(25) - 람다식

by SeleniumBindingProtein 2022. 1. 28.
728x90
반응형

1. 프로그래밍 방법론 
    1) 절차식 프로그래밍 
        - 순차적인 명령을 수행하고 간단한 분기만 가능 
    2) 구조적 프로그래밍
        - 특정 변수를 묶어 구조화하고 이를 통해 프로그래밍 효율 높임.
    3) 객체지향 프로그래밍 
        - 객체를 기반으로 프로그래밍 되며 클래스, 속성, 기능등의 현실세계 모델을 반영함.
    4) 함수형 프로그래밍 
        - 객체의 형태를 벗어나 함수형을 확장해 함수를 변수처럼 사용 가능.     

2. 함수형 프로그래밍과 람다식(Lambda expression)       
    1) 자바는 OOP : 기능을 수행하기 위해서는 객체를 만들고 
                  그 객체 내부에 멤버 변수를 선언하고 기능을 수행하는 메서드를 구현.
    2) 자바 8부터 함수형 프로그래밍 방식을 지원하고 이를 람다식이라 함.
        - 자바에서 람다식을 수용한 이유 
            - 코드가 매우 간결해짐.
            - 대용량 데이터를 필터링 또는 매핑해서 쉽게 집계할수 있음.
    3) 함수의 구현과 호출만으로 프로그래밍이 수행되는 방식.
    4) 객체지향 프로그래밍보다 효율적인 경우
        - 대용량 데이터 처리시에 유리.
            - 데이터 포장 객체를 생성 후 처리하는 것보다, 데이터를 바로 처리하는 것이
              속도에 유리함.
            - 멀티코어 CPU에서 데이터를 병렬 처리하고 취합할때, 객체보다는 함수가 유리함.
        - 이벤트 지향 프로그래밍에 적합(이벤트가 발생하면 핸들러 함수 실행)                                
    5) 현대적 프로그래밍 = 객체지향 프로그래밍 + 함수적 프로그래밍
    6) 람다 계산법에서 사용된 식을 프로그래밍 언어에 접목
    7) 익명 함수(anonymous function)을 생성하기 위한 식.
    8) 람다식 => 매개변수를 가진 코드 블록 => 익명 내부 객체
    9) 함수를 기반으로 하는 프로그래밍이고 
       입력받는 자료 이외에 외부 자료를 사용하지 않아
       여러 자료가 동시에 수행되는 병렬처리가 가능함.
    10) 함수형 프로그래밍은 함수의 기능이 자료에 독립적임을 보장함.
        동일한 자료에 대해 동일한 결과를 보장함.


3. 람다식 문법
    1) 익명 함수 만들기 
    2) (매개변수) -> {실행문;}         <=== 매개변수와 매개변수를 이용한 실행문 

4. 함수형 인터페이스 선언하기 
    1) 람다식을 선언하기 위한 인터페이스 
    2) 익명 함수와 매개 변수만으로 구현되므로 인터페이스는 단 하나의 메서드만을 선언해야 함.
    3) @FunctionalInterface 애노테이션 

728x90
반응형

'Web > Java' 카테고리의 다른 글

Java(27) - 예외처리  (0) 2022.01.28
Java(26) - Stream  (0) 2022.01.28
Java(24) - 내부클래스  (0) 2022.01.28
Java(22) - review3  (0) 2022.01.28
Java(21) - 컬렉션프레임워크  (0) 2022.01.28

댓글