티스토리 뷰
Generic (제네릭)
제네릭 메소드는 메소드의 선언 부에 적은 제네릭으로 리턴 타입과 파라미터의 타입이 정해지는 메소드이다. 아래와 같이 작성한다.
<T, R> R myMethod(T t)
<T, R>: generic type
R: return type
T: parameter type
Lambda Expressions (람다 표현식)
람다 표현식은 자바 8부터 도입되었다. 람다식은 런타임시 익명 구현 객체가 되며, 기본 형태는 아래와 같다.
(매개변수) -> {실행코드}
실행코드에 return문만 있는 경우에는 return과 중괄호는 생략 가능하다.
Method References (메서드 참조)
메서드 참조는 깔끔한 코드의 핵심이다.
메서드 참조도 람다식처럼 인터페이스의 익명 구현 객체로 생성된다.
- 정적 메서드 참조 방법: ‘클래스 :: 메서드’
- 인스턴스 메서드 참조 방법: ‘참조변수 :: 메서드’
- 생성자 참조 방법: ‘클래스 :: new’
Functional Interface (함수형 인터페이스)
함수형 인터페이스는 추상 메서드가 하나만 있는 인터페이스를 의미한다.
표준 API 분류에 따른 Java에서 기본 제공하는 대표적인 함수형 인터페이스는 아래와 같다.
함수형 인터페이스 | 디스크립터 | 메소드 |
Consumer | T -> void | accept |
Supplier | () -> T | get |
Function<T, R> | T -> R | apply |
Operator<T, T> | T -> T | apply |
Predicate | T -> boolean | test |
'Language > Java' 카테고리의 다른 글
[Java] UnsupportedOperationException 원인 (0) | 2022.11.18 |
---|