728x90
반응형

람다 4

함수형 프로그래밍(Functional Programming)

함수형 프로그래밍(Functional Programming)은 프로그래밍 패러다임 중 하나로, 수학적인 함수 개념을 기반으로 하는 프로그래밍 방법입니다. 함수형 프로그래밍에서는 변수의 값을 변경시키지 않고, 함수의 조합으로 문제를 해결합니다. 이를 통해 복잡한 문제를 간단하게 표현할 수 있고, 코드의 가독성과 재사용성이 높아집니다. 함수형 프로그래밍의 마크(?) 함수와 값의 관계를 표현하는 수학적 기호입니다. 수학에서는 함수를 표현할 때 f(x)와 같이 표기합니다. 이 때, f는 함수의 이름이며, x는 함수에 인자로 전달되는 값입니다. 이와 비슷하게 함수형 프로그래밍에서는 보통 λ(lambda) 기호를 사용하여 함수를 표현합니다. 이를 람다식(lambda expression)이라고 부릅니다. 람다식은 익..

CS 2023.04.07

[Effective Java] 아이템 44. 표준 함수형 인터페이스를 사용하라.

🎯 아이템 44. 표준 함수형 인터페이스를 사용하라. 필요한 용도에 맞는 게 있다면, 직접 구현하지 말고 표준 함수형 인터페이스를 활용하라. public class Item44 { public static void main(String[] args) { /** * 1 Supplier */ Supplier supplier = () -> "hello world"; System.out.println("supplier = " + supplier.get()); Supplier doubleSupplier = () -> Math.random(); System.out.println("doubleSupplier = " + doubleSupplier.get()); printRandomDoubles(doubleSupplie..

Java 2023.03.22

[Effective Java] 아이템 43. 람다보다는 메서드 참조를 사용하라.

🎯 아이템 43. 람다보다는 메서드 참조를 사용하라. 람다가 익명 클래스보다 나은 점 중에서 가장 큰 특징은 간결함이다. 그런데 자바에는 함수 객체를 심지어 람다보다도 더 간결하게 만드는 방법이 있으니, 바로 메서드 참조다. 하지만, 메서드 참조 쪽이 짧고 명확하다면 메서드 참조를 쓰고, 그렇지 않을 때만 람다를 사용하라. 메서드 참조를 사용했을때 더 짧고 명확한 소스 List sortedOrders = orders.stream() .sorted(comparing(Order::getCreatedAt)) .map(Order::getId) .collect(Collectors.toList()); 좀 더 짧고 명확한 소스가 되었다. 하지만, 클래스명이 너무 길거나 더 명확하다고 판단되지 않는다면 람다를 사용하자..

Java 2023.03.22

[Effective Java] 아이템 42. 익명 클래스보다는 람다를 사용하라.

🎯 아이템 42. 익명 클래스보다는 람다를 사용하라. 예전에는 자바에서 함수 타입을 표현할 때 추상 메서드를 하나만 담은 인터페이스를 사용했다. 이런 인터페이스의 인스턴스를 함수객체라고 하여, 특정 함수나 동작을 나타내는 데 썼다. 익명 클래스의 인스턴스를 함수 객체로 사용 - 낡은 기법이다! public class Item43 { public static void main(String[] args) { List list = new ArrayList(); list.add("test3"); list.add("te2st3"); list.add("test4"); list.add("5test3"); Collections.sort(list, new Comparator() { @Override public int ..

Java 2023.03.21
728x90
반응형