자바에서 메서드에 전달되는 매개변수는 두 가지 주요 유형으로 나뉩니다: 기본형 매개변수 (Primitive Parameters)와 참조형 매개변수 (Reference Parameters)입니다.
1. 기본형 매개변수 (Primitive Parameters)
기본형 매개변수는 메서드에 전달되는 값이 실제로 메모리에 저장됩니다. 이 값은 메서드의 매개변수로 복사되어 전달됩니다. 기본형 데이터 타입은 int, double, char, boolean, float, short, long, byte 등입니다. 이러한 매개변수를 사용할 때 값의 복사본이 전달되므로 메서드 내에서 이 값을 변경해도 호출자에게는 영향을 주지 않습니다.
예를 들어
public void modifyValue(int x) {
x = x + 1;
}
public static void main(String[] args) {
int num = 5;
modifyValue(num);
System.out.println(num); // 출력 결과: 5
}
위의 예제에서 modifyValue 메서드는 num 변수의 값을 1 증가시키지만, 호출자에서 num의 값은 변경되지 않습니다.
2. 참조형 매개변수 (Reference Parameters)
참조형 매개변수는 객체 또는 배열을 메서드에 전달하는 데 사용됩니다. 이 경우, 실제 객체 또는 배열에 대한 참조(주소)가 복사되어 전달됩니다. 이것은 호출자와 메서드 사이에서 동일한 객체 또는 배열을 참조하므로 메서드에서 객체 또는 배열 내부의 데이터를 변경하면 호출자에게도 영향을 미칩니다.
예를 들어
class Person {
String name;
public Person(String name) {
this.name = name;
}
}
public void changeName(Person person) {
person.name = "Alice";
}
public static void main(String[] args) {
Person person = new Person("Bob");
changeName(person);
System.out.println(person.name); // 출력 결과: Alice
}
위의 예제에서 changeName 메서드는 person 객체의 name 속성을 변경하고, 이 변경 사항이 호출자에게도 반영됩니다.
기본형과 참조형 매개변수를 구분하여 사용하는 것은 메서드의 동작 및 호출자에 대한 영향을 이해하는 데 중요합니다.
With ChatGPT
'JAVA > 포스팅' 카테고리의 다른 글
자바 참조형 변환타입 (0) | 2023.11.07 |
---|---|
자바 참조형 매개변수 (0) | 2023.11.07 |
자바 JVM의 메모리구조 (0) | 2023.11.07 |
자바 메서드 예외 목록 (Throws Exception List) (0) | 2023.11.07 |
자바 메서드 매개변수 목록 (Parameter List) (0) | 2023.11.07 |