first-class citizen = first-class entity = first-class value = first-class object
- 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체
- 보통 함수에 매개변수로 넘기기, 수정하기, 변수에 대입하기와 같은 연산을 지원할 때 일급 객체라 함
- 일급 객체 정의
— 모든 요소는 함수의 실제 매개변수가 될 수 있다.
— 모든 요소는 함수의 반환 값이 될 수 있다.
— 모든 요소는 할당 명령문의 대상이 될 수 있다.
— 모든 요소는 동일 비교의 대상이 될 수 있다.