소개: 자바 프로그래밍에서는 함수 호출 시 인자를 전달하는 방식에는 두 가지 주요한 패턴인 Call By Value와 Call By Reference가 있습니다. 이 블로그에서는 두 방식의 차이와 각각의 특징을 살펴보겠습니다.
1. Call By Value (값에 의한 호출):
예를 들어 코드로 살펴봅시다.
public class Main {
public static void main(String[] args) {
int num = 10;
changeValue(num);
System.out.println(num); // 출력 결과: 10
}
public static void changeValue(int x) {
x = 20;
}
}
2. Call By Reference (참조에 의한 호출):
예를 들어 코드로 살펴봅시다.
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder("Hello");
changeValue(sb);
System.out.println(sb); // 출력 결과: "World"
}
public static void changeValue(StringBuilder str) {
str.append(" World");
}
}
결론: Java에서의 인자 전달 방식은 기본 데이터 타입일 때는 Call By Value가 적용되고, 객체를 다룰 때는 Call By Reference와 유사한 효과를 얻을 수 있습니다. 이러한 차이를 이해하면 함수 호출 시 인자의 동작 방식을 더욱 명확하게 이해할 수 있으며, 코드를 더 효과적으로 작성할 수 있습니다. 호출되는 함수와 호출한 함수 간의 인자 전달 방식을 고려하는 것은 자바 프로그래밍에서 중요한 측면 중 하나입니다.
[자바 CS지식] 오버로딩과 오버라이딩의 차이 (0) | 2024.02.12 |
---|---|
[자바 CS지식] 좋은 객체 지향 설계 SOLID 원칙 (0) | 2024.02.11 |
[자바 CS지식] 캡슐화와 정보 은닉의 차이점 (0) | 2024.02.11 |
[자바 CS지식] 접근 제어자의 종류와 특징 (0) | 2024.02.11 |
[자바 입문] 변수 사용해보기 (2) | 2024.02.11 |