-
[Java 기초] 람다식카테고리 없음 2019. 6. 9. 22:53
1. 람다식?
람다식이란 "매개 변수를 가진 코드 블록"으로 "익명 구현 객체"를 생성하는 녀석이다.
음. 말이 어렵다.
그냥 코드로 보자.
// 익명 구현 객체 Runnable runnable = new Runnable() { public void run() { ... } }; // 익명 구현 객체를 람다식으로 표현 Runnable runnable = () -> { ... };
위의 코드를 보면 new Runnable()이라는 익명구현객체를 {public void run() {...}};으로 구체화 시키고 있다.
그리고 람다식은 위의 익명구현객체를 정말 간단하게 단 몇줄로 표현할 수 있도록 도와주는 녀석을 말한다.
(코드 사용하는걸 보면 거의 대부분 인터페이스를 구체화하는 용도로 많이 쓰는거 같다)
2. 기본문법
(타입 매개변수, ... ) -> { 실행문; ... }
// 기본형식 (int a) -> { System.out.println(a); } // 매개변수 타입이 자동으로 인식됨. 따라서 이렇게 타입없이 변수만 쓸 수 있음. (a) -> {System.out.println(a); } // 하나의 매개변수만 있다면 괄호 생략 가능. 하나의 실행문만 있다면 {}도 생략가능 a -> System.out.println(a) // 단, 매개변수가 없는 경우 ()는 써줘야함. () -> { 실행문; ... } // 리턴이 있는 경 (x, y) -> {return x+y;}; //리턴 생략가능 (x,y) -> x+y