NULL

JAVA 기본형, 참조형 타입차이 본문

Back-end/JAVA

JAVA 기본형, 참조형 타입차이

1924 2022. 1. 21. 04:32
class ReferenceTypeExam {
    public static void main(String []args) {
        ReferenceTypeExam exam = new ReferenceTypeExam();
        
        //기본형 변수value1을 addOne에 전달합니다.
        int value = 10;
        exam.addOne(value);
        System.out.println("기본형 변수의 값을 다른 메소드에서 변경한 결과: " + value);
        
        //참조형 변수arr을 addOne에 전달합니다.
        int []arr = {10};
        exam.addOne(arr);
        System.out.println("참조형 변수의 값을 다른 메소드에서 변경한 결과: " + arr[0]);
    }
    
    
    public void addOne(int value) {
        value++;
    }
    
    public void addOne(int[] arr) {
        for(int i = 0; i < arr.length; i++){
            arr[i] ++;
        }
    }
}

 

기본형 타입은 다른 메소드 매개변수로 전달될 때, 
값이 그대로 전달되서 어떠한 영향도 받지않는다.

하지만

참조형 타입은 다른 메소드에 매개변수로 전달될 때,
변수의 주소가 전달되서 값에 영향을 받습니다.

Comments