μ€νΈλ¦Όμ΄ μ 곡νλ ν΅μ¬ κ°λ μ€ ν΅μ¬μ λ κ°μ§λ‘ λλ μ μμ΅λλ€.
- μ€νΈλ¦Όμ λ°μ΄ν° μμμ μ ν νΉμ 무ν μνμ€λ₯Ό λ»ν©λλ€.
- μ€νΈλ¦Ό νμ΄νλΌμΈμ μ΄ μμλ€λ‘ μννλ μ°μ° λ¨κ³λ₯Ό νννλ κ°λ μ λλ€.
μ€νΈλ¦Όμ μμ€ μ€νΈλ¦ΌμΌλ‘ μμν΄μ μ’
λ¨(μ΅μ’
) μ°μ°(terminal operation)μΌλ‘ λλλ©°, κ·Έ μ¬μ΄μ νλ μ΄μμ μ€κ° μ°μ°μκ° μμ μ μμ΅λλ€. μ€κ° μ°μ°μλ μ΄λ ν λ°©μμΌλ‘ λ³ν(transform) ν©λλ€. μ΅μ’
μ°μ°μ μμλ₯Ό μ λ ¬ν΄ μ»¬λ μ
μ λ΄κ±°λ, νΉμ μμ νλλ₯Ό μ ννκ±°λ, λͺ¨λ μμλ₯Ό μΆλ ₯νλ μμ
λλ€.
μ€νΈλ¦Ό νμ΄ν λΌμΈμ lazyν©λλ€. μ΅μ’
μ°μ°μκ° νΈμΆ λκΈ° μ κΉμ§ μ€ννμ§ μμ΅λλ€. μ΅μ’
μ°μ°μ μ°μ΄μ§ μλ λ°μ΄ν° μμλ κ³μ°μ μ°μ΄μ§ μμ΅λλ€. μ΄λ¬ν μ§μ° νκ°λ 무ν μ€νΈλ¦Όμ λ€λ£° μ μκ² ν΄μ€λλ€. μ΅μ’
μ°μ°μ΄ μλ μ€νΈλ¦Όμ μ무μΌλ νμ§ μμΌλ(NOP) λΉΌλ¨Ήλ μΌμ΄ μλλ‘ ν©μλ€.
μ€νΈλ¦Ό APIλ νμ΄νλΌμΈ νλλ₯Ό ꡬμ±νλ λͺ¨λ νΈμΆμ μ°κ²°νμ¬ λ¨ νλμ ννμμΌλ‘ μμ±ν μ μμ΅λλ€. μ€νΈλ¦Όμ μ΄μ©ν΄μ λ€μν κΈ°λ₯μ ꡬμ¬ν μ μμ§λ§, μλͺ» μ¬μ©νλ©΄ μ½κΈ° μ΄λ €μμ§κ³ μ μ§λ³΄μ νκΈ°λ νλ€μ΄μ§λλ€.
μ€νΈλ¦Όμ γ
μ²μ μ¬μ©νλ©΄ λͺ¨λ λ°λ³΅λ¬Έμ μ€νΈλ¦ΌμΌλ‘ λ°κΎΈκ³ μΆκ² μ§λ§, μ μ€νκ² μκ°ν΄λ΄μΌ ν©λλ€. κ°λ
μ±κ³Ό μ μ§λ³΄μ, λ©λͺ¨λ¦¬ μΈ‘λ©΄μμ μν΄λ₯Ό λ³Ό μ μκΈ° λλ¬Έμ
λλ€.
μ€νΈλ¦Ό νμ΄νλΌμΈμμ κ³μ°μ ν¨μ κ°μ²΄λ‘ νννλλ° ν¨μ κ°μ²΄λ‘λ ν μ μμ§λ§ μ½λ λΈλ‘μΌλ‘ ν μ μλ μΌλ€μ΄ μμ΅λλ€.
- μ½λ λΈλ‘μμλ λ²μ μμ μ§μλ³μλ₯Ό μ½κ³ μμ ν μ μμ΅λλ€. νμ§λ§ λλ€μμλ finalμ΄κ±°λ effective finalλ§ μ½μ μ μκ³ , μ§μλ³μλ₯Ό μμ ν μ μμ΅λλ€.
- μ½λ λΈλ‘μμλ returnλ¬Έμ μ¬μ©ν΄ λ©μλμμ λΉ μ Έλκ°κ±°λ, breakλ continue λ¬ΈμΌλ‘ λΈλ‘ λ°κΉ₯μ λ°λ³΅λ¬Έμ μ’ λ£νκ±°λ λ°λ³΅λ¬Έμ ν λ² κ±΄λλΈ μ μμ΅λλ€. λν λ©μλ μ μΈμ λͺ μλ κ²μ¬ μμΈλ₯Ό λμ§ μ μμ΅λλ€. νμ§λ§ λλ€λ‘λ μ΄ μ€ μ΄λ€κ²λ ν μ μμ΅λλ€.
κ³μ° λ‘μ§μμ μ΄μμ μΌλ€μ μνμ νλ€λ©΄ μ€νΈλ¦Όκ³Όλ λ§μ§ μλ κ²μ λλ€. λ€μμ μ€νΈλ¦Όκ³Ό μμ± λ§μΆ€μΈ μΌλ€ μ λλ€.
- μμλ€μ μνμ€λ₯Ό μΌκ΄λκ² λ³ννλ€.
- μμλ€μ μνμ€λ₯Ό νν°λ§νλ€.
- μμλ€μ μνμ€λ₯Ό νλμ μ°μ°μ μ¬μ©ν΄ κ²°ν©νλ€.
- μμλ€μ μνμ€λ₯Ό 컬λ μ μ λͺ¨μλ€.
- μμλ€μ μνμ€μμ γ νΉμ 쑰건μ λ§μ‘±νλ μμλ₯Ό μ°Ύλλ€.