자바 람다 2

[ Java ] 24. 익명클래스보다는 람다

익명 클래스보다는 람다 자바에서 함수 타입을 표현할 때는 추상 메서드를 하나만 담은 인터페이스(또는 추상 클래스)를 사용했다. 이러한 인터페이스의 인스턴스를 함수 객체라고 해서 특정 함수나 동작을 나타내는데 썼다. 익명 클래스 JDK 1.1 버전부터 함수 객체를 만들 때 익명 클래스(Anonymous Class)를 주로 사용했다. 하지만 익명 클래스 방식은 코드가 너무 길기 때문에 이 떄까지의 자바는 함수형 프로그래밍에 적합하지 않았다. import java.util.*; public class Main { public static void main(String[] args) { List Words = Arrays.asList("APPLE", "Banana", "orange", "korea"); Coll..

[ Java ] 23. 자바에서의 함수형 프로그래밍

함수형 프로그래밍 프로그래밍의 패러다임은 프로그래머에게 프로그래밍의 관점을 갖게 하고 어떻게 코드를 작성할지 결정하게 하기 때문에 큰 역할을 한다고 볼 수 있다. 명령형 프로그래밍 : 무엇(What)을 할 것인지 보다는, 어떻게(How)할 건지 설명 절차적 프로그래밍 (Tow-Down) 단순히 순차적으로 프로그래밍 하는 것이 아니라, 프로시저 콜이라는 함수 호출을 통해 명령을 수행하는 것. (C, C++) 객체지향 프로그래밍 실제 세계를 모델링하여 객체 간의 상호작용을 나타내는 개발 방법(C++, Java, C#) 선언형 프로그래밍 : 어떻게(How)를 나타내기 보다 무엇(What)을 할 건지 설명 함수형 프로그래밍 순수 함수를 조합하고 소프트웨어를 만드는 방식(클로저, 하스켈, 리스프) > 함수형 프로..