선수지식: [Java] - 람다식(Lambda Expression) 메서드 참조란? 메서드 참조(method reference)란 이미 존재하는 메서드 혹은 참조변수를 간결하게 지칭하는 방법이다. 람다식이 하나의 메서드만 호출하는 경우 그 식을 더 간결하게 나타내는 데에 쓰이며, 스트림 연산에서 빈번하게 사용된다. 이렇게 사용된 메서드 참조는 컴파일 단계에서 컴파일러가 알아서 람다식을 생성하여 처리된다. 사용법 람다식은 매개변수와 함수 몸체를 화살표(->)로 이어 구성했다면, 메서드 참조는 매개변수와 화살표, 소괄호를 제거하고 아래와 같이 쓴다. 클래스명(혹은 참조변수명)::메소드명 예시 1. Math.pow() 아래와 같이 Math.pow() 메서드의 람다식을 메서드 참조로 변형하여 사용 가능하다. p..
사용되는 지식: 함수형 인터페이스 람다식(Lambda Expression) 메서드 참조 디폴트 메서드 단순한 Array 혹은 숫자만 포함된 List의 구현체(ArrayList, LinkedList)들을 오름차순 정렬하려면 java.util.Arrays나 java.util.Collections의 sort() 메서드에 해당 자료구조를 파라미터로 넘겨주기만 하면 된다. import java.util.Arrays; public class test { public static void main(String[] args) { int[] arr = {3,2,1}; Arrays.sort(arr); // => arr = {1, 2, 3} } } 하지만 예를 들어, 단순하게 하나의 숫자의 비교를 통한 정렬이 아니라, 사람..
선수지식: [Java] - 함수형 인터페이스 람다식(Lambda Expression)이란? int max(int a, int b) { return (a > b) ? a : b; } 위와 같이 새로 정의해서 사용해야 하는데, 이러한 함수의 사용 빈도까지 적으며 이런 행위를 반복해야 하는 것은 매우 불편한 일이다. 자바를 비롯한 각종 프로그래밍 언어에서는 이러한 불필요한 코드를 줄일 수 있도록 메서드의 이름 없이 함수를 간단히 표현하는 '람다식' 이라는 표현 방식이 사용 가능하다. 자바에서는 Java8부터 이를 지원했으며, 함수형 언어적 특성을 갖게 되었다. 또한 람다식은 익명 객체로, 하나의 변수처럼 취급이 가능해 매개 변수로 Stream연산에 사용된다. 람다식 작성법 기존의 메서드에서 아래의 규칙을 통해..
함수형 인터페이스 함수형 인터페이스란, 인터페이스 중 한 개의 추상 메서드를 갖는 것을 말한다. 간단히 아래와 같은 형태의 인터페이스를 함수형 인터페이스라고 부를 수 있다. @FunctionalInterface interface ExampleInterface { abstract void exampleMethod(); } java.lang의 @FunctionalInterface 어노테이션을 붙여 해당 인터페이스가 함수형 인터페이스의 조건에 부합하는지 컴파일 시점에 확인할 수 있다. Java8의 함수형 인터페이스 Java8 이전까지는 인터페이스에 상수와 추상 메서드만을 선언 가능했으나, Java8부터 인터페이스에 디폴트(default) 메서드와 정적(static) 메서드 또한 추가가 가능해졌다. 따라서 아래..
- Total
- Today
- Yesterday
- Spring 테스트
- invokedynamic
- logback-spring.xml
- 우테코 프리코스
- Java
- 우테코 5기
- 스프링
- JPA
- JPA JSON
- RandomPort
- Jenkins 예약 배포
- Spring Boot Monitoring
- MySQL
- GitHub Discussion 템플릿
- springboottest
- MySQL 이벤트 스케줄
- multiplebagsfetchexception
- Spring
- Payload 암호화
- 람다식
- stubbing
- 함수형 인터페이스
- java switch case
- GitHub Discussion
- 자바
- 우테코
- 생성자 주입
- GitHub Discussion Template
- Fromtail
- 의존성 주입
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |