아래의 소스에서 인자로 넘겨준 member에 name도 SungChoon으로 변경된다.
주석으로 막은 곳을 풀고 그 아래 줄을 주석으로 막으면 인자로 넘겨준 MemberDTO 객체의 name은 변경되지 않는다.
C로 말하자면 주소(&나 *)로 넘겨준 것이나 마찬가지가 된다.
기본 자료형은 무조건 Pass by Value이고,
참조 자료형 안에 있는 변수들은 매개 변수로 넘어갈 때 참조가 넘어가는 Pass by Reference이다.
public class ReferenceTypes {
// 중간생략
public void passByValue(int a, String b, MemberDTO member) {
a = 20;
b = "z";
// member = new MemberDTO("SungChoon");
member.name = "SungChoon";
System.out.println("passByValue method result !!! ");
System.out.println("a="+a);
System.out.println("b="+b);
System.out.println("member.name="+member.name);
}
}
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
13 | Maven 관련 에러 | Martin | 2017.08.31 | 7563 |
12 | java call stack 출력 샘플 (파일, 화면) | Martin | 2017.03.22 | 330 |
11 | 파일 쓰기 | Martin | 2017.03.22 | 350 |
10 | 로그 | Martin | 2017.02.06 | 352 |
9 | 이클립스 단축키 | Martin | 2016.11.24 | 867 |
8 | jar 내보내기 및 실행 예제 | Martin | 2016.11.10 | 116 |
7 | 이클립스 설정 | Martin | 2016.11.02 | 351 |
6 | 이클립스 플러그인 설치 | Martin | 2016.10.26 | 378 |
5 | Java MessageBox 출력 | Martin | 2016.10.24 | 245 |
4 | java 및 이클립스 개발환경 구성 | Martin | 2016.10.19 | 231 |
3 | 접근 제어자 | Martin | 2016.10.15 | 60 |
» | 매개 변수 | Martin | 2016.10.15 | 101 |
1 | 자바책 | Martin | 2016.10.14 | 2729 |