inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[인프런워밍업클럽][BE] 과제 3 | Lambda 식

holiholy88
0

1. 람다식(Lambda Expression) 이란?

: 익명함수를 생성하기 위한 식 (Annoymous Function, 익명함수)

1.1 람다식의 등장 배경

- 복잡한 요구사항을 처리하기 위해 기존 Java 문법으로는 Method 사용이 늘어나는 등 코드의 복잡도가 높아짐

- 메소드의 제한적 사용

- 객체를 통한 접근만을 허용

- 메소드 자체를 변수로 사용 불가

1.2 람다식 특징

- 익명 함수 : 식별자없이 실행가능한 함수 (메소드명이 없음)

- 간결한 문법

- 함수형 인터페이스 지원

1.3 람다식의 장/단점

(1) 장점

- 코드의 간결성 : 불필요한 반복문의 삭제 가능

- 지연연산 수행 : 불필요한 연산 최소화

- 병렬처리 기능 : 멀티쓰레드 활용

- 가독성 향상 : 코드가 실제로 수행하고자 하는 로직이 추상적으로 드러남

(2) 단점

- 호출을 위해 직접 메소드를 불러야 함 : 람다식 생성 및 전달이 간결한 것과는 달리, 람다식 실행 시 인터페이스에 선언된 메소드 호출이 필요

- 재귀 람다식 호출의 어려움

 

2. 람다식의 사용

2.1 람다식 기본

 

2.2 람다식 예제

(추가 필요)

 

2.3 람다식 해석

(1) 13강. GET API 람다 식 적용 전

@GetMapping("/user")
public List<UserResponse> getUsers(){
    //1. SQL 조회
    String sql = "SELECT * FROM users";
    //2. JDBC 연결, 처리
    return jdbcTemplate.query(sql, new RowMapper<UserResponse>() {
        @Override
        public UserResponse mapRow(ResultSet rs, int rowNum) throws SQLException {
            long id = rs.getLong("id");
            String name = rs.getString("name");
            int age = rs.getInt("age");
            return new UserResponse(id, name, age);
        }
    });
}

 

(2) 13강. GET API 람다 식 적용 후

@GetMapping("/user")
public List<UserResponse> getUsers(){
    String sql = "SELECT * FROM user";
    return jdbcTemplate.query(sql, (rs, rowNum) -> {
        long id = rs.getLong("id");
        String name = rs.getString("name");
        int age = rs.getInt("age");
        return new UserResponse(id, name, age);
    });
}

 


참고자료

인프런워밍업클럽 인프런워밍업클럽BE java lambda식

답변 0