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

+ Recent posts