인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

dduckmane님의 프로필 이미지
dduckmane

작성한 질문수

더 자바, Java 8

메소드 레퍼런스

메서드 레퍼런스

작성

·

435

1

springClasses.stream().filter(Predicate.not(OnlineClass::isClosed))

이부분에서

isClosed는 static함수가 아닌데
그러면 객체::isClosed가 되어야하는거 아닌가요??
왜 타입::isCloese가 된건가요??

답변 1

1

백기선님의 프로필 이미지
백기선
지식공유자

메서드 레퍼런스에 총 네가지 형태가 있는데요. 그 중에서 인스턴스 메서드라 하더라도 "타입::메서드" 형태로, 지금 예로 들어주신 Online::isClosed와 같이 표현할 수 있는 방법을 "임의 객체의 인스턴스 메서드 참조"라고 합니다. 말 그대로 "해당 클래스 타입의 어떤 객체가 가지고 있는 해당 메서드"를 가리키는 겁니다. 즉, 여기서는 OnlineClass 라는 타입의 객체가 가지고 있는 isClosed 라는 인스턴스 메소드를 가리키는 거죠.

dduckmane님의 프로필 이미지
dduckmane

작성한 질문수

질문하기