강의

멘토링

커뮤니티

Inflearn Community Q&A

jsp131952's profile image
jsp131952

asked

The Java, Java 8

Method Reference

FunctionalInterface 상속 관계 질문

Written on

·

287

0

String::compareToIgnoreCase를 변수에 할당하면 BiFunction<String, String, Integer> 타입이 될 줄 알았는데, intellij의 자동완성 기능을 써보니 Comparator<String> 타입이 나왔습니다. 

반대로 Comparator타입 변수에 BiFunction은 할당하지 못하는 걸로 봐서 Comparator가 BiFunction을 상속받고 있는 것 같은데, 실제 코드를 보면 상속과 관련된 부분이 없는 것 같네요.

@FunctionalInterface 어노테이션이 상속관계를 만들어주는 것인지, 아니면 다른 상속 방법이 있는 것인지 궁금합니다.

java

Answer 1

1

whiteship님의 프로필 이미지
whiteship
Instructor

음.. 아니요 실제로 Comparator와 BiFuntion 간에는 상속 관계는 없지만 compareToIgnoreCase를 BiFuntion 타입에 할당하는 것은 가능합니다. 이런식으로요.

        BiFunction<String, String, Integer> compareToIgnoreCase = String::compareToIgnoreCase;


 

jsp131952's profile image
jsp131952

asked

Ask a question