JAVA/포스팅

자바 기본형 매개변수

짜집퍼박사(짜박) 2023. 11. 7. 03:51

자바에서 메서드에 전달되는 매개변수는 두 가지 주요 유형으로 나뉩니다: 기본형 매개변수 (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