Notice
Recent Posts
Recent Comments
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

기본형 매개변수와 참조형 매개변수 본문

Java/객체지향

기본형 매개변수와 참조형 매개변수

빌드이너프 2023. 5. 26. 09:44

기본형 매개변수

변수의 값을 읽기만 할 수 있다(Read only)

메서드를 호출할 때 기본형 값이 복사됨

class Data { int x; }

public class PrimitiveParaEx {
    public static void main(String[] args) {
        Data d = new Data();
        d.x = 10;
        System.out.println(d.x); // 10

        change(d.x);
        System.out.println(d.x);// 10

    }
    static void change(int d) { // 기본형 매개변수
        d = 1000;
        System.out.println("chage: " + d); // chage: 1000
    }
}

10
chage: 1000
10

 

참조형 매개변수

변수의 값을 읽고 변경할 수 있다(Read & Write)

메서드를 호출할때 인스턴스 주소가 복사됨 -> 저장된 곳의 주소를 알 수 있기 때문에 값을 읽고 변경할 수 있다

 

chage 메서드에서 d의 타입이 기본형이 아니기 때문에 참조형이다

class Data { int x; }

public class PrimitiveParaEx {
    public static void main(String[] args) {
        Data d = new Data();
        d.x = 10;
        System.out.println(d.x); // 10

        change(d);
        System.out.println(d.x);// 1000

    }
    static void change(Data d) { // 참조형 매개변수
        d.x = 1000;
        System.out.println("chage: " + d.x); // chage: 1000
    }
}

10
chage: 1000
1000