1급 시민이라는 말은 정수나 문자열 같은 다른 일반적인 값과 마찬가지로 함수를 취급할 수 있다는 뜻이다.
함수가 1급 시민이 되려면 변수에 함수를 대입할 수 있고, 함수를 다른 함수에 인자로 넘길 수 있으며, 함수에서 함수를 만들어서 반환할 수 있어야 한다.
함수형 프로그래밍 패러다임을 따르고 있는 언어에서의 함수(function)
는 일급 객체(first class citizen)
로 간주된다.
객체지향 언어에서는 클래스(또는 객체, Object)가 일급 객체가 됩니다.
일급 객체라 함은 다음과 같다.