call by value (κ°μ μν νΈμΆ)
π‘λ³μκ° κ°μ§ κ°μ 볡μ¬νμ¬ μ λ¬νλ―λ‘ ν¨μ λ΄μμ κ°μ λ³κ²½ν΄λ μλ³Έ κ°μ λ³κ²½λμ§ μλλ€.
- ν¨μκ° νΈμΆλ λ λ©λͺ¨λ¦¬ κ³΅κ° μμμλ μμμ 곡κ°μ΄ μμ±λλ€. κ·Έλ¦¬κ³ ν¨μκ° μ’
λ£λλ©΄ ν΄λΉκ³΅κ°μ μ¬λΌμ§λ€.
- ν¨μ νΈμΆμ μ λ¬λλ λ³μμ κ°μ 볡μ¬νμ¬ ν¨μμ μΈμλ‘ μ λ¬νλ€.
- 볡μ¬λ μΈμλ ν¨μ μμμ μ§μμ μΌλ‘ μ¬μ©νλ λ³μμ΄λ€.
- JAVAμ κ²½μ° ν¨μμ μ λ¬λλ μΈμμ λ°μ΄ν° νμ
μ λ°λΌμ (κΈ°λ³Έμλ£ν / μ°Έμ‘°μλ£ν ) ν¨μ νΈμΆ λ°©μμ΄ λ¬λΌμ§
- κΈ°λ³Έ μλ£ν : call by value λ‘ λμ (int, short, long, float, double, char, boolean)
- μ°Έμ‘° μλ£ν : call by reference λ‘ λμ (Array, Class Instance)
call by reference (μ°Έμ‘°μ μν νΈμΆ)
π‘ν¨μ λ΄μμ μΈμλ‘ μ λ¬λ λ³μμ κ°μ λ³κ²½νλ©΄, νΈμΆν μͺ½μμλ ν΄λΉ λ³μμ κ°μ΄ λ³κ²½λλ€.
- ν¨μκ° νΈμΆλ λ, λ©λͺ¨λ¦¬ κ³΅κ° μμμλ ν¨μλ₯Ό μν λ³λμ μμ 곡κ°μ΄ μμ±λλ€. (ν¨μ μ’
λ£μ μ¬λΌμ§)
- call by reference μ°Έμ‘°μ μν νΈμΆλ°©μμ ν¨μ νΈμΆμ μΈμλ‘ μ λ¬λλ λ³μμ λ νΌλ°μ€λ₯Ό μ λ¬νλ€. (ν΄λΉ λ³μλ₯Ό κ°λ₯΄ν¨λ€.)
- ν¨μ μμμ μΈμμ κ°μ΄ λ³κ²½λλ©΄, ν¨μ νΈμΆμμ μλ λ³μλ€λ κ°μ΄ λ°λλ€.