First Class Object란
한국말로는 1급 객체, 또는 일등급 객체 등으로 번역하고 있다.
First Class Object의 정의는 다음을 충족하는 것 이라고 할 수 있다.
•변수(variable)에 담을 수 있다.
•인자(parameter)로 전달할 수 있다.
•반환값(return value)으로 전달할 수 있다.
•할당에 사용된 이름과 관계없이 고유한 구별이 가능하다.
•자료 구조에 할당할 수 있어야한다.
Java에서 보면 이 조건을 충족시키는 것들은 기본 자료형들을 예로들수 있다. 함수(메소드)는 조건을 충족하지 못한다.
First Class Object에 대하여 검색을 하다 보면 함수형 언어라는 것이 자주 나온다. 함수형 언어는 함수를 First Class Object로 다룰 수 있게 지원한 언어이다.
함수형 언어가 많이 이야기 되는 이유는 함수를 First Class Object를 만족하는가 만족하지 못하는가에 따라 사용할 수 있는 기능과 없는 기능들이 구분되기 때문이다.
함수형 언어의 한 예로 JavaScript를 들 수 있다.
'프로그래밍 > 그외' 카테고리의 다른 글
facade pattern (1) | 2016.06.21 |
---|---|
DB Savepoint (0) | 2016.06.21 |
scheduling - 스케줄링 (0) | 2016.06.01 |
DI (Dependency Injection) (0) | 2016.05.26 |