728x90
728x90
Java에서 메소드 레퍼런스 (Method Reference)는 람다 표현식을 간단하게 작성할 수 있게 해주는 기능입니다.
메소드 레퍼런스를 사용하면 람다 표현식을 대체할 수 있고, 코드를 더 간결하게 만들 수 있습니다.
메소드 레퍼런스는 기존의 메소드를 참조하여 람다 표현식을 만들어낼 수 있습니다.
메소드 레퍼런스는 주로 함수형 인터페이스를 구현하는 메소드를 가리킬때 사용됩니다.
예를 들어, 함수형 인터페이스에 정의된 메소드와 동일한 시그니처를 가진 메소드를 참조할 수 있습니다.
메소드 레퍼런스의 일반적인 문법은 다음과 같습니다.
참조할클래스::메소드이름
메소드 레퍼런스는 다음과 같은 유형으로 나눌 수 있습니다.
1. 정적 메소드 레퍼런스 (Static Method References): 정적 메소드를 참조합니다.
예: ClassName::staticMethodName
2. 인스턴스 메소드 레퍼런스 (Instance Method Reference): 특정 객체의 인스턴스 메소드를 참조합니다.
예: instance::instanceMethodName
3. 클래스의 인스턴스 메소드 레퍼런스 (Class Instance Method References): 클래스의 인스턴스 메소드를 참조합니다.
예: ClassName::instanceMethodName
4. 생성자 레퍼런스 (Constructor References): 생성자를 참조합니다.
예: ClassName::new
<예제>
import java.util.List;
public class MethodReferenceExample {
// 정적 메소드
public static void print(String str) {
System.out.println(str);
}
// 인스턴스 메소드
public void printUpperCase(String str) {
System.out.println(str.toUpperCase());
}
public static void main(String[] args) {
List<String> names = List.of("Java", "Python", "C++");
// 정적 메소드 레퍼런스
names.forEach(MethodReferenceExample::print);
// 인스턴스 메소드 레퍼런스
MethodReferenceExample instance = new MethodReferenceExample();
names.forEach(instance::printUpperCase);
}
}
이 예제에서는 `forEach` 메소드를 사용하여 리스트의 각 요소에 대해 메소드 레퍼런스를 적용하고 있습니다.
정적 메소드와 인스턴스 메소드의 레퍼런스를 보여주고 있습니다
메소드 레퍼런스를 사용하면 코드가 더 간결하고 가독성이 좋아집니다.
[Reference]
728x90
300x250
'Java' 카테고리의 다른 글
[Java; 자바] 자바란? (0) | 2023.11.09 |
---|---|
[Java; 자바] 자바 컬렉션 프레임워크 Java Collection Framework (0) | 2023.11.08 |
[Java; 자바] 초보 개발자들이 꼭 배워야 할 지식 (0) | 2023.11.08 |
[Java; 자바] Azul Zulu OpenJDK1.8 Install (2/2) (0) | 2022.10.11 |
[Java; 자바] Azul Zulu OpenJDK1.8 Install (1/2) (4) | 2022.09.01 |