1급 객체, first class citizen

- 1 min

일급 객체(first class citizen)

거두절미하고, 다음의 특징을 모두 만족하면 일급 객체이다.

  1. 변수에 할당 가능하다.
  2. 함수의 인자로 넘길 수 있다.
  3. 함수의 리턴 값으로 반환 가능하다.

JAVA

public class first_class_test {
	public static void test(){
    	System.out.println("first_class_test");
    }

	public static void main(String[] args) {
    	Object a = test; // 이런거 안 됨, Syntax Error
    }

}

PYTHON

def test():
	print("first_class_test")

a = test  # 변수 a에 test 함수 할당
test()  # 함수 실행, "first_class_test" 출력
def test(func):
    func = func
    return func

def adder(a, b):
    return a+b

a = test(adder)  # a 변수에 adder 함수를 건네주고, 다시 리턴
print(a(2, 3))  # 5 출력



코딩장이

코딩장이

-장이: [접사] ‘그것과 관련된 기술을 가진 사람’의 뜻을 더하는 접미사.

rss facebook twitter github youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora quora