JAVA 프로그래밍

문제

기본자료형과 참조자료형을 함께 사용할 때 메모리에 어떻게 저장되는지 살펴보는 문제입니다 이를 해결하는 프로그램의 다음 실행상태에 대해 빈칸을 채우세요 

프로그램의 실행순서 및 실행상태

1  public static void main( String[] args ) {  

2   int primitiveInt = 100;

3   Integer referenceInt = 200; 

4   String stringInt = "300";
                     main()                                                 
primitiveInt
referenceInt   등의 데이터와 메서드 포함 (obj01)
   stringInt   등의 데이터와 메서드 포함 (obj02)

5   System.out.println( "primitive=" + primitiveInt + " reference=" + referenceInt + " string=" +  stringInt );
primitive=100 reference=200 string=300
                          
 ... 

9   referenceInt = 400;

11              referenceInt.toString();

10   stringInt = 
                     main()                                                 
primitiveInt  100 
referenceInt   등의 데이터와 메서드 포함 (obj04)    300  (obj03)    200  (obj01)
   stringInt   등의 데이터와 메서드 포함 (obj05)   '300' (obj02)

12   System.out.println( "primitive=" + primitiveInt + " reference=" + referenceInt + " string=" +  stringInt );
primitive=100 reference=400 string=400
                          
 ... 

15   referenceInt = 500;

16   primitiveInt = referenceInt;
                     main()                                                 
primitiveInt
referenceInt   등의 데이터와 메서드 포함 (obj07)    100  (obj06)    400  (obj04)    300  (obj03)    200  (obj01)
   stringInt  (obj05)    '400' 등의 데이터와 메서드 포함 (obj05)   '300' (obj02)

17   System.out.println( "primitive=" + primitiveInt + " reference=" + referenceInt + " string=" +  stringInt );
primitive=500 reference=500 string=400

18  }


프로그램 코드

		public class AutoboxingUnboxing
	{
1		public static void main( String[] args ) { 	
2			int primitiveInt = 100;
3			Integer referenceInt = 200; 
4			String stringInt = "300";
5			System.out.println( "primitive=" + primitiveInt + " reference=" + referenceInt + " string=" +  stringInt );
			
6			referenceInt = 
7			              Integer.parseInt( stringInt );
8			System.out.println( "primitive=" + primitiveInt + " reference=" + referenceInt + " string=" +  stringInt );
	
9			referenceInt = 400;
10			stringInt = 
11			           referenceInt.toString();
12			System.out.println( "primitive=" + primitiveInt + " reference=" + referenceInt + " string=" +  stringInt );
	
13			referenceInt = primitiveInt;
14			System.out.println( "primitive=" + primitiveInt + " reference=" + referenceInt + " string=" +  stringInt );
15			referenceInt = 500;
	
16			primitiveInt = referenceInt;
17			System.out.println( "primitive=" + primitiveInt + " reference=" + referenceInt + " string=" +  stringInt );
	
18		}
	}