1급 시민(first-class citizen)이란? 프로그래밍에서 1급 시민이란 다음의 조건을 충족하는 것을 말한다. 변수에 담을 수 있다. 함수의 인자로 전달할 수 있다. 함수의 반환값으로 전달할 수 있다. 1급 객체와 1급 함수? 1급 시민, 1급 객체, 1급 함수와 같이 비슷한 용어들이 존재하는데 그 미묘한 차이를 정리해보자. 1급 객체는 말 그대로 1급 시민의 조건을 충족하는 객체를 이야기한다. 코틀린의 함수는 객체로 사용할 수 있기 때문에 1급 객체에 속한다. 1급 함수는 1급 객체이면서 아래의 조건들은 추가로 만족하는 함수를 말한다. 런타임에 생성이 가능하다. 익명으로 생성이 가능하다. 코틀린과 1급 함수 코틀린의 함수는 1급(first-class)이다. 자바의 경우 함수는 클래스의 멤버의 ..