Call by Value & Call by Reference
Call by Value
β’
ν¨μ νΈμΆ μ μΈμλ‘ λκ²¨μ€ λ§€κ°λ³μλ λ¨μν κ°μ 볡μ¬νμ¬ μ¬μ©ν κ²μΌλ‘ ν¨μ νΈμΆμ΄ μ’
λ£λ λ μλ³Έ 맀κ°λ³μμ λ³λμ¬νμ΄ μλ€
β’
맀κ°λ³μμ νμ
μ΄ κΈ°λ³Έ λ°μ΄ν° νμ
μΈ κ²½μ°
β’
κ°μ²΄κ° λ€λ₯Έ κ°μ²΄μ λ©μλλ₯Ό νΈμΆν λ λ¨μν λ©μλ μνμ νμν κ°λ§ λκΈ°κ³ μ νλ κ²½μ°
β¦
맀κ°λ³μλ₯Ό κΈ°λ³ΈνμΌλ‘ μ μΈνμ¬ Call by value
Call by Reference
β’
μ°Έμ‘°ν 맀κ°λ³μλ μ°Έμ‘°νλ κ°μ²΄μ μ£Όμ κ°μ΄ 볡μ¬λμ΄μ μ λ¬λλ€.
β’
κ°μ κ°μ²΄μ μ£Όμλ₯Ό κ°μ§κΈ° λλ¬Έμ νλμ κ°μ²΄λ₯Ό λ κ°μ μ°Έμ‘°λ³μκ° κ³΅μ νλ€.
β’
λ©μλ μν μ΄νμλ μν κ²°κ³Όλ₯Ό μ§μμ μΌλ‘ μ μ§νκ³ μ νλ κ²½μ°
β¦
맀κ°λ³μλ₯Ό μ°Έμ‘°νμΌλ‘ μ μΈνμ¬ Call by Reference
β’
μλ°μμλ newλ‘ μμ±λ λͺ¨λ κ°μ²΄λ₯Ό μΈμλ‘ λ£λ κ²½μ° ν΄λΉ
κ°λ³μ 맀κ°λ³μ
β’
맀κ°λ³μμ μ«μλ₯Ό μ»΄νμΌμ΄λ μ€ν μμ 미리 μ§μ νμ§ μλ λ°©μ
β’
νλμ λ©μλλ§ μ μνμ¬ λ§€κ°λ³μμ κ°μλ₯Ό κ°λ³μ μΌλ‘ μ¬μ©νλ λ°©μ
β’
μ¬λ¬κ°μ 맀κ°λ³μμ ν¨κ» μ¬μ©νλ κ²½μ°μλ 맀κ°λ³μ 리μ€νΈ λ§μ§λ§ μμΉμμ λ± νλ²λ§ μ¬μ© κ°λ₯νλ€!!
public class HelloWorld {
public static int intSum(int... num) {
int sum = 0;
for(int i = 0; i < num.length; i++) {
sum += num[i];
}
return sum;
}
public static void main(String[] Args) {
System.out.println(intSum(1));
System.out.println(intSum(1,2));
}
}
Java
볡μ¬