안녕하세요 뚜딘입니다
학원에서 선생님이 람다식을 시험에 낸다고 하셔서 복습차원에서 글 올려요
제 공부 목적이라 틀린 부분이 있을 수 있습니다ㅠㅠ
틀린 부분을 보시면 지적 부탁드려요! 성장하고싶은 자린이 입니다 ㅎㅎㅎ
람다식이란
프로그래밍 언어 중에는 함수의 구현과 호출만으로 프로그램을 만들 수 있는 방식이 있습니다.
이를 '함수형 프로그래밍' 이라고 하는데 그 중 하나가 바로 '람다식' 입니다.
람다식은 간단히 설명하면 함수 이름이 없는 익명 함수를 만드는 것입니다.
구현 방법은 ( 매개변수 ) -> { 실행문; } 이게 전부입니다.
예를 들어 add 라는 x와 y를 더하는 함수가 있다면
이를 람다식은 이렇게 표현 가능합니다.
메소드 이름 add와 반환형 int 를 없애고 -> 기호를 사용하여 구현합니다.
람다식 문법
람다식은 매개변수 자료형이 생략이 가능하며, 매개변수가 하나인 경우에는 괄호도 생략 가능합니다.
하지만 매개변수가 두 개인 경우에는 괄호를 생략할 수 없습니다.
중괄호 안의 구현 부분이 한 문장이라면 중괄호 역시 생략 가능하지만, return 문은 중괄호 생략이 불가능합니다.
함수형 인터페이스
람다식은 이름이 없는 익명 함수로 구현하기 때문에 인터페이스가 두 개 이상의 메소드를 가져서는 안됩니다.
그런데 프로그래밍을 하다보면 실수로 람다식으로 구현한 인터페이스에 메소드를 추가할 수도 있겠죠?
이를 방지하기위해 @FunctionalInterface 애노테이션을 사용합니다.
메소드를 하나 이상 선언하면 오류가 나게 해주는 애노테이션이고 이와 같이 사용합니다.
객체지향 프로그래밍 방식과 람다식의 비교
위에 선언한 인터페이스 추상메서드 Adder와
인터페이스를 구현한 클래스 AdderImple 로 코딩 방식을 비교해 보겠습니다.
이렇게 구현 방법을 비교해 보면, 람다식으로 구현하는 경우에 코드가 더 간결해지는 것을 알 수 있습니다.
람다식은 함수의 구현부를 변수에 대입하기도 하고, 매개변수로 전달하기도 하고,
함수의 반환 값으로도 사용할 수 있습니다. 마치 변수처럼 사용할 수 있는 것이죠.
사실 아직 람다식을 보면 너무 간결해서 이해가 안될 때가 종종있어요ㅠㅠ
그래도 어렵다고 포기하지말고 천천히 코드를 따라해봐요!
'뚜딘쓰 자바 > 자바 공부' 카테고리의 다른 글
[자바/이클립스] 코딩 공부하기 좋은 사이트 소개! (0) | 2019.07.02 |
---|---|
[Java/자바] for문 이용해 삼각형 출력하기 (0) | 2019.07.01 |
JAVA 프로그래밍 기초! 《이클립스 설치하는 방법》 (0) | 2019.05.03 |