First Class Citizen이란 아래 3개를 만족하면 됨.
1. Element가 Function의 파라미터로 넘길수 있어야 함.
2. Element가 Function의 결과값으로 반환이 될 수 있어야 함.
3. Data Structure에 저장이 될 수 있어야 함.(변수에 Assign할 수 있어야 함)
(자바에서 Function에 해당하는 것은 메쏘드임.)
기존 자바에서는 이를 만족하는 것이 변수뿐이었으므로, Function은 First Class Citizen을 만족하지 못함.
Java8에서 Function도 위 3개 항목을 만족하여 First Class Function 지원언어로 거듭남. (함수형 프로그래밍, 람다 표현식 을 사용)
긴 한줄 요약:
Java8에서부터 Function도 First Class Citizen이 되었고(원래는 Variable만 이었음.), 함수형 프로그래밍이 가능하다.
(Funcion becomes 'First Class Citizen' from java8, so developer can do funtionall program)
'IT > 자바8-람다' 카테고리의 다른 글
람다 원리 및 값 캡쳐란? (0) | 2020.05.07 |
---|---|
클로져(Closure, Close-over), 쉐도잉 (0) | 2020.05.06 |
Identity 함수? (0) | 2020.04.29 |
자주쓰는 람다 (0) | 2020.04.29 |
람다 사용법 및 규칙 (0) | 2020.04.23 |