JAVA 프로그래밍

문제

함수 호출시 값을 전달받고, 함수 내에서 기본자료형 수정, 객체 값을 직접 수정, 새 객체를 생성하여 수정하는 프로그램입니다 이를 해결하는 프로그램의 다음 실행상태에 대해 빈칸을 채우세요 

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

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

2   int argument1 = 1;

4                   new Int( 2 );

P1b  public Int( int value ) {

P1e  }

3   Int argument2 = 

6                   new Int( 3 );

P1b  public Int( int value ) {

P1e  }

5   Int argument3 = 

change() 호출전   argument1 = 1     argument2 = 2     argument3 = 3

7   change( argument1, argument2, argument3 );
                 main()           
 argument1     1    
 argument2  (obj01)    value   2   Int(),toString() (obj01)
 argument3  (obj02)    value   3   Int(),toString() (obj02)

P2b  public static void change( int parameter1, Int parameter2, Int parameter3 ) {
                 main()           
 argument1     1    
 argument2  (obj01)    value   2   Int(),toString() (obj01)
 argument3  (obj02)    value   3   Int(),toString() (obj02)
()
parameter1
parameter2
parameter3

change() 변경전  parameter1 = 1    parameter2 = 2    parameter3 = 3 

P21   parameter1 = 100;

P23                new Int( 200 );

P1b  public Int( int value ) {

P1e  }

P22   parameter2 = 

P24   parameter3.value = 300;
                 main()           
 argument1
 argument2   value   2   Int(),toString() (obj01)
 argument3   value Int(),toString() (obj02)
()
parameter1
parameter2   value  200  Int(),toString() (obj03)
parameter3

change() 변경후  parameter1 = 100  parameter2 = 200  parameter3 = 300 

P2e  }

change() 호출후   argument1 = 1     argument2 = 2     argument3 = 300 

8  }
                 main()           
 argument1     1    
 argument2  (obj01)    value   2   Int(),toString() (obj01)
 argument3  (obj02)    value  300  Int(),toString() (obj02)


프로그램 코드

		
	class Int
	{
		protected int value;
		
P1b		public Int( int value ) {
			this.value = value;
P1e		}
	
		public String toString() {
			return this.value + " ";
		}
	}
	
	public class PassByValueVsPassByReference
	{
P2b		public static void change( int parameter1, Int parameter2, Int parameter3 ) {
			System.out.println( "change() 변경전  parameter1 = " + parameter1 + "    parameter2 = " + parameter2 + "   parameter3 = " + parameter3 );
P21			parameter1 = 100;
P22			parameter2 = 
P23			             new Int( 200 );
P24			parameter3.value = 300;
	
			System.out.println( "change() 변경후  parameter1 = " + parameter1 + "  parameter2 = " + parameter2 + " parameter3 = " + parameter3 );
P2e		}
	
1		public static void main( String[] args ) { 	
2			int argument1 = 1;
3			Int argument2 = 
4			                new Int( 2 );
5			Int argument3 = 
6			                new Int( 3 );
			System.out.println( "change() 호출전   argument1 = " +  argument1 + "     argument2 = " +  argument2 + "    argument3 = " +  argument3 );	
7			change( argument1, argument2, argument3 );
			System.out.println( "change() 호출후   argument1 = " +  argument1 + "     argument2 = " +  argument2 + "    argument3 = " +  argument3 );
	
8		}
	}