모던 자바 인 액션의 람다 표현식을 공부하면서 함수 디스크립터 설명 부분 문장이 잘 안읽히네..
검색해서 나오는 블로그는 진짜 죄다 책 복붙한 문장들밖에 없어서 찾아보다 찾아보다 빡쳐서 여기다 올림
메소드 시그니처라고 하면 메소드의 이름 + 파라미터 만 해당되고, 리턴타입은 불포함이라고 알고있는데..
책 설명이
"함수형 인터페이스의 추상 메서드 시그니처는 람다 표현식의 시그니처를 가리킨다.
람다 표현식의 시그니처를 서술하는 메서드를 함수 디스크립터라고 부른다.
예를 들어 Runnable 인터페이스의 유일한 추상 메서드 run은 인수와 반환값이 없으므로(void 반환)
Runnable 인터페이스는 인수와 반환값이 없는 시그니처로 생각할 수 있다."
라는데..
저기서 말하는 시그니처에는 이름 대신 리턴 형식이 포함되는거임?
함수형 인터페이스의 추상메소드랑 람다 표현식에서 말하는 시그니처는 일반적인 메소드 시그니처라는 표현이랑 다른건가?
오 나도 지금 공부중인데 stream부터 보는중
가끔 좀 매끄럽지 못한게 있는거같은데 원문이 그런건지 번역이 그런건지.. 동작 파라미터화가 "아직은 어떻게 실행할 것인지 결정하지 않은 코드 블록" 을 의미한다는데.. "화"가 단어끝에 붙었는데 저 설명이 맞나..? 영어로 behavior parameterization을 구글에 검색해보면 the ability of a method to take multiple different behaviors as parameters and use them internally to accomplish different behaviors 여러 가지 다른 동작을 매개변수로 수신하고 작업을 수행하기 위해 내부적으로 사용하는 방법,
Behavior parameterization is essentially taking a block of code and making it available without executing it. 동작 매개변수화는 기본적으로 코드 블록을 가져와서 실행하지 않고 사용할 수 있도록 만드는 것입니다. 이게 더 맞는 표현같은데.. 나는 일단 단어 정의가 명확해야 다음으로 넘어가는 스타일이라 이런거 볼때마다 턱턱 막히게됨.. 그러려니 하고 넘어가야되는데
메서드 시그니처랑 메서드 타입은 다른건데 책에서 잘못쓴듯 위의 내용은 메서드 타입에 대한 내용인듯
와 ㅋㅋㅋ 나랑 똑같은 고민 - dc App