ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λŠ” 엔티티에 μ—¬λŸ¬κ°€μ§€ μ˜€νΌλ ˆμ΄μ…˜μ„ μ μš©μ‹œν‚¬ 수 μžˆλŠ”λ°,Β 

First-class citizen (일급 객체) 은 λ‹€λ₯Έ μ—”ν‹°ν‹°μ—κ²Œ 적용 κ°€λŠ₯ν•œ λͺ¨λ“  μ˜€νΌλ ˆμ΄μ…˜μ„ μ μš©μ‹œν‚¬ 수 μžˆλŠ” μ—”ν‹°ν‹°(객체)λ₯Ό μ˜λ―Έν•œλ‹€.Β 


μœ„ν‚€ν”Όλ””μ•„μ—μ„œ λ§ν•˜λŠ” First-class citizen 의 κΆŒλ¦¬λŠ” μ•„λž˜μ™€ κ°™λ‹€.Β 

1. λͺ¨λ“  μš”μ†ŒλŠ” ν•¨μˆ˜μ˜ μ‹€μ œ λ§€κ°œλ³€μˆ˜κ°€ 될 수 μžˆλ‹€.

2. λͺ¨λ“  μš”μ†ŒλŠ” ν•¨μˆ˜μ˜ λ°˜ν™˜ 값이 될 수 μžˆλ‹€.

3. λͺ¨λ“  μš”μ†ŒλŠ” ν• λ‹Ή λͺ…λ Ήλ¬Έμ˜ λŒ€μƒμ΄ 될 수 μžˆλ‹€.

4. λͺ¨λ“  μš”μ†ŒλŠ” 동일 λΉ„κ΅μ˜ λŒ€μƒμ΄ 될 수 μžˆλ‹€.


ν•˜μ§€λ§Œ SICP μ—μ„œ λ§ν•˜λŠ” First-class citizen 의 κΆŒλ¦¬λŠ” 쑰금 λ‹€λ₯Έλ°,Β 

1, 2, 3λ²ˆμ€ λ™μΌν•˜μ§€λ§Œ λ§ˆμ§€λ§‰ 4κ°€ μ•„λž˜μ™€ 같이 λ‹€λ₯΄λ‹€.Β 

4. Data Structures에 포함 κ°€λŠ₯ν•˜λ‹€.Β 


이 First-class citizen 일급 객체에 ν•΄λ‹Ήν•˜λŠ” 것듀은 

λŒ€λ‹€μˆ˜μ˜ 슀칼라 데이터 νƒ€μž…λ“€, μ •μˆ˜λ‚˜ μ‹€μˆ˜κ°™μ€ 것듀이닀.Β 

κ΅¬ν˜• μ–Έμ–΄λ“€μ—μ„œλŠ” λ°°μ—΄(array)μ΄λ‚˜ λ¬Έμžμ—΄(strings)이 일급객체가 μ•„λ‹Œ κ²½μš°κ°€ μžˆλ‹€.Β 

λ˜ν•œ ν•¨μˆ˜λ₯Ό 일급 객체둜 ν•˜λŠλƒ 어떠냐도 언어에 따라 κ°ˆλ¦¬λŠ”λ“―.Β 


이 μΌκΈ‰κ°μ²΄λΌλŠ” κ°œλ…μ΄ κ½€ μ“Έλ§Œν•˜λ‹€κ³  λŠλ‚€κ²Œ,Β 

μ—¬νƒœκΉŒμ§€ λ‚˜λŠ” μ—¬λŸ¬κ°€μ§€ μ—”ν‹°ν‹°λ₯Ό λŒ€ν•  λ•Œ, 이것이 ν”„λ¦¬λ―Έν‹°λΈŒμΈκ°€ λ ˆνΌλŸ°μŠ€μΈκ°€λ₯Ό λ”°μ§€κ±°λ‚˜Β 

μ•„λ‹ˆλ©΄ μ΄λŸ¬ν•œ νƒ€μž…μ˜ μ—”ν‹°ν‹°λŠ” μ΄λŸ¬μ €λŸ¬ν•œ 연산이 κ°€λŠ₯ν•˜λ‹€ λΌλŠ”κ²ƒμ„ "μ•”κΈ°" ν•˜κ³  μžˆμ—ˆμŒ.Β 

근데 이런 μΌκΈ‰κ°μ²΄λΌλŠ” κ°œλ…μ„ μ•Œκ²Œ λ˜μ„œ, λ‹€λ₯Έ μ–Έμ–΄λ“€μ˜ 비ꡐ가 또 λ‹€λ₯Έ κ°λ„μ—μ„œ κ°€λŠ₯ν•˜λ‹€ λΌλŠ”κ±Έ μ•Œκ²Œ 된거 κ°™μŒ.Β 

음... 

μ½”λ“œλͺ½ν‚€ ν•˜λ£¨λΌλ„ 빨리 λ²—μ–΄λ‚˜μ•Ό ν• λ“―.Β 

SICP 100νŽ˜μ΄μ§€ 정도 읽은것 λ§ŒμœΌλ‘œλ„ λ‚˜λŠ” 정말 ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ₯Ό λ‹€λ£¨κΈ°λ§Œ ν–ˆμ§€Β 

정말 κ·Έ μ–Έμ–΄κ°€ μ™œ μ΄λ ‡κ²Œ λ˜μ–΄μžˆλŠ”κ°€μ— λŒ€ν•΄ ν•˜λ‚˜λ„ λͺ°λžκ΅¬λ‚˜ λΌλŠ”κ²ƒμ„ λΌˆμ €λ¦¬κ²Œ κΉ¨λ‹«λŠ”μ€‘Β 


μžμ„Έν•œ λ‚΄μš©μ€ μœ„ν‚€λ₯Ό μ°Έμ‘°Β 

https://ko.wikipedia.org/wiki/%EC%9D%BC%EA%B8%89_%EA%B0%9D%EC%B2%B4