JAVA

JAVA 인자전달

짱코딩러 2022. 7. 17. 18:17

1. 기본 타입의 값 전달(값을 전달함)
값이 복사되어 전달
메소드의 매개변수가 변경되어도 호출한 실인자 값은 변경되지 않음

 

2. 객체 혹은 배열 전달(주소를 전달함)
객체나 배열의 레퍼런스만 전달
객체 혹은 배열이 통째로 복사되어 전달되는 것이 아님
메소드의 매개변수와 호출한 실인자 객체나 배열 공유

public class ArrayParameterEx {
	static void replaceSpace(char a[]) {
		for (int i = 0; i < a.length; i++)
			if (a[i] == ' ')
				a[i] = ',';
	}
	static void printCharArray(char a[]) {
		for (int i = 0; i < a.length; i++)
			System.out.print(a[i]);
		System.out.println();
	}
	public static void main (String args[]) {
		char c[] = {'T','h','i','s',' ','i','s',' ','a',' ','p','e','n','c','i','l','.'};
		printCharArray(c);
		replaceSpace(c);
		printCharArray(c);
	}
}

=>출력

This is a pencil.
This,is,a,pencil.

 

'JAVA' 카테고리의 다른 글

JAVA instanceof 연산자  (0) 2022.07.18
JAVA (메서드)오버라이딩  (0) 2022.07.18
JAVA 제어자  (0) 2022.07.17
JAVA 변수 초기화  (0) 2022.07.17
JAVA static 메서드, 인스턴스 메서드  (0) 2022.07.16