Notice
                              
                          
                        
                          
                          
                            Recent Posts
                            
                        
                          
                          
                            Recent Comments
                            
                        
                          
                          
                            Link
                            
                        
                    | 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 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 | 
                            Tags
                            
                        
                          
                          - IntelliJ
 - leetcode
 - ViewModel
 - homebrew
 - ReactiveProgramming
 - git
 - Java
 - github
 - Algorithm
 - programmers
 - livedata
 - Android
 - FRAGMENT
 - androidstudio
 - Jetpack
 - sourcetree
 - library
 - Database
 - rxjava
 - Kotlin
 - Room
 - Java8
 - Version
 
                            Archives
                            
                        
                          
                          - Today
 
- Total
 
Learn & Run
Java - 메서드 래퍼런스 이해하기 본문
목표
RxJava에서는 람다 표현식을 자주 사용하기 때문에 메서드 래퍼런스를 배워보면 좋을 것이라고 생각합니다. 이번 시간에는 메서드 래퍼런스를 이용하여 람다 표현식을 조금 더 간결하게 표현해 보도록 합니다.
1. 메서드 래퍼런스란?

- 우리말로 번역하면 메서드 참조라는 의미입니다.
 - 람다 표현식의 몸체 부분에 기술되는 메서드를 이용해서 표현되며, 메서드의 이름만 전달합니다.
 - 구분자(::)를 붙이는 방식으로 메서드 레퍼런스를 표현합니다.
 - 메서드 래퍼런스를 사용하면 람다 표현식은 더욱 간결해지게 됩니다.
 
2. 메서드 래퍼런스의 유형
- ClassName :: Static Method
 - 예) (String s) -> Integer.parseInt(s) --> Integer::parseInt
 

- ClassName :: Instance Method
 - 예) (String s) -> s.toLowerCase() --> String::toLowerCase
 

- Object :: Instance Method
 - 람다 표현식 외부에 참조하는 인스턴스 메서드가 있는 경우를 말합니다.
 - 예) (int count) -> obj.getTotal(count) --> obj::getTotal
 

- ClassName :: New
 - 예) () -> new Car()
 

'Java' 카테고리의 다른 글
| RxJava - 리액티브에서의 생성 연산자 (0) | 2021.01.20 | 
|---|---|
| Java - 함수형 인터페이스와 람다 표현식 (0) | 2021.01.13 | 
| RxJava - 또 다른 생산자 Single, Maybe와 Completable (0) | 2021.01.12 | 
| RxJava - 배압 전략(BackpressureStrategy)의 종류 (0) | 2021.01.08 | 
| RxJava - Flowable과 Observable 이해하기 (0) | 2021.01.08 |