[운영체제] Java

정원석·2024년 7월 9일

자바에서 swap() 메서드가 없는 이유

자바는 값에 의한 호출(Call by Value) 이기 때문이다.

자바는 메서드 호출 시 값을 복사하여 전달하는 "값에 의한 호출" 방식을 사용한다. 따라서, 두 변수의 값을 서로 바꾸기 위해서는 원본 값을 직접 수령할 수 있어야 한다. 하지만 값에 의한 호출에서는 메서드 내부에서 변경된 값이 메서드 호출 후에는 반영되지 않는다.

public class SwapExample {
    public static void swap(int a, int b) {
        int temp = a;
        a = b;
        b = temp;
    }

    public static void main(String[] args) {
        int x = 1;
        int y = 2;
        swap(x, y);
        System.out.println("x= " + x + ", y= " + y); 
        // 출력: x: 1, y: 2
    }
}
profile
Back-End-Dev

0개의 댓글