-
728x90
new로 선언하는 데이터 타입은 참조 자료형이다
복제와 참조복사 예시 코드
class A { public int id; A(int id) { this.id = id; } } public class ReferenceDemo { // 복제 public static void runValue() { int a = 1; int b = a; b = 2; System.out.println("runValue, " + a ); } public static void runReference() { 데이터타입 변수 = new 데이터타입(인자); A a = new A(1); // 참조 복사 A b = a; b.id = 2; System.out.println("runReference, " + a.id); }
참조 - 위치를 저장한다 메소드의 매개변수와 참조,복제
class A { public int id; A(int id) { this.id = id; } } public class ReferenceDemo { // 복제 public static void runValue() { int a = 1; int b = a; b = 2; System.out.println("runValue, " + a ); } public static void runReference() { 데이터타입 변수 = new 데이터타입(인자); A a = new A(1); A b = a; b = new A(2); System.out.println("runReference, " + a.id); // 1이 출력됨 // 21번째 줄은 복제되지않고 각자 A,B는 다른 인스턴스를 가리킴 }
'자바' 카테고리의 다른 글
[자바] 객체지향적인 설계에 대한 정리 (0) 2022.10.27 [자바] Youtub Tutorial 게임을 만들면서 정리한 점 ( 주석 및 정리 ) (1) 2022.09.19 [자바] 다형성 (0) 2022.08.06 [자바] 인터페이스 (0) 2022.08.05 [자바] final (0) 2022.08.05