문제
함수 호출시 값을 전달받고, 함수 내에서 기본자료형 수정, 객체 값을 직접 수정, 새 객체를 생성하여 수정하는 프로그램입니다 이를 해결하는 다음 프로그램의 실행순서를 클릭하세요
uppercase() 호출전 argument1 = a argument2 = d argument3 = g
uppercase() 변경전 parameter1 = a parameter2 = d parameter3 = g
uppercase() 변경후 parameter1 = A parameter2 = D parameter3 = G
uppercase() 호출후 argument1 = a argument2 = d argument3 = G
프로그램 코드
class Char
{
protected char value;
P1b public Char( char value ) {
this.value = value;
P1e }
public String toString() {
return this.value + " ";
}
}
public class PassByValueVsPassByReference
{
P2b public static void uppercase( char parameter1, Char parameter2, Char parameter3 ) {
System.out.println( "uppercase() 변경전 parameter1 = " + parameter1 + " parameter2 = " + parameter2 + " parameter3 = " + parameter3 );
P21 parameter1 = 'A';
P22 parameter2 =
P23 new Char( 'D' );
P24 parameter3.value = 'G';
System.out.println( "uppercase() 변경후 parameter1 = " + parameter1 + " parameter2 = " + parameter2 + " parameter3 = " + parameter3 );
P2e }
1 public static void main( String[] args ) {
2 char argument1 = 'a';
3 Char argument2 =
4 new Char( 'd' );
5 Char argument3 =
6 new Char( 'g' );
System.out.println( "uppercase() 호출전 argument1 = " + argument1 + " argument2 = " + argument2 + " argument3 = " + argument3 );
7 uppercase( argument1, argument2, argument3 );
System.out.println( "uppercase() 호출후 argument1 = " + argument1 + " argument2 = " + argument2 + " argument3 = " + argument3 );
8 }
}