ÀÚ¹Ù Call By Reference ±Ã±ÝÇÕ´Ï´Ù.

   Á¶È¸ 3556   Ãßõ 0    


package method;

public class CallByReference_ex
{
    private String name;
   
    public void setName(String name)
    {
        this.name = name;
    }
    public String getName()
    {
        return name;
    }
}

---------------------------------------------------------------------------

package method;

public class CallByReference {

    public static void main(String[] args)
    {
       
        CallByReference_ex com1 = new CallByReference_ex();
        com1.setName("google");
        show(com1);
        System.out.println("====");
        System.out.println(com1.getName());
       
    }
   
    public static void show(CallByReference_ex com)
    {
     com.setName("Yahoo");
     System.out.println(com.getName());
    }
}

위 소스는 유투브 강좌를 통해서 퍼왔습니다.

질문1. show 메소드에서 매개변수로(클래스명 이름)에서 클래스명 뒤에 붙는 com의 기능이 궁금합니다. 클래스 변수인가요?

com.setName("Yahoo"); 이부분때문에 그렇습니다.

질문2. com1 객체는 임의의 주소값(예를 들어 1000번)을 가지고 있습니다. 메소드 호출시 cmo1 객체는 1000번의 주소값을 com에 복사해줍니다. com1도 com도 google 값에 접근할수 있지만 com에서 yahoo라는 값으로 변경되어 google의 값은 yahoo로 바뀌게 된다.

책에서는 형식 매개변수(CallByReference_ex com), 실 매개변수show(com1); 경우 형식 매개 변수를 이용하여 객체의 값이 변경되면 실매개 변수를 통한 객체의 값도 변경된다.

Yahoo

=====

Yahoo

제가 설명한것이 맞나요?

정말로 아리송합니다. 혹시 도움주실 회원님 계신가요?

ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
1. comÀº ±×³É º¯¼ö À̸§ÀÏ »ÓÀÔ´Ï´Ù. CallByReference_ex ŸÀÔÀÇ º¯¼ö comÀ» Á¤ÀÇÇÑ °ÍÀÌÁÒ.

µ¡, Ŭ·¡½º º¯¼ö´Â ¾Æ´Õ´Ï´Ù. Ŭ·¡½º º¯¼ö´Â ´Ù¸¥ °³³äÀÌÁÒ.
2. Å« Ʋ¿¡¼­ º¸¸é ¸Â°Ô ¼³¸í Çϼ̽À´Ï´Ù.

µ¡, Call by Reference¸¦ ¼³¸í Çϱâ À§ÇÑ ¿¹Á¦ÀΰŠ°°½À´Ï´Ù¸¸ À§ µ¿¿µ»ó¿¡¼­ ¸»ÇßµíÀÌ ÀÚ¹Ù¿¡´Â Call by Reference°¡ ¾ø½À´Ï´Ù. Call by Value¸¸ ÀÖÁÒ.

Á» ´õ ÀÚ¼¼È÷ ¸»Çϸé ÀÚ¹Ù´Â µ¥ÀÌÅÍŸÀÔ¿¡ µû¶ó µÎ °¡Áö ¹æ½ÄÀ¸·Î µ¿ÀÛÇÕ´Ï´Ù.

ÇÁ¸®¹ÌƼºê µ¥ÀÌÅÍŸÀÔ¿¡´Â Call by Value ¹æ½ÄÀ¸·Î, ±× ¿Ü¿¡´Â Call by Reference 'ó·³ º¸ÀÌ´Â' Call by Value ¹æ½ÄÀ¸·Î ¸»ÀÌÁÒ.

À§ ¿¹Á¦°¡ ¹Ù·Î Call by Reference ó·³ º¸ÀÌ´Â Call by Value ¹æ½ÄÀ» ¼³¸íÇÏ°í Àֳ׿ä.


QnA
Á¦¸ñPage 2979/5661
2014-05   4885194   Á¤ÀºÁØ1
2015-12   1424614   ¹é¸Þ°¡
2019-09   3140   Ãë¹ÌÄÄ
2019-09   3010   ¹Ú¸í±ÙTN
2020-12   3035   iroo
2017-04   4220   NGC
2013-11   15670   Nicoffeine
2015-03   3784   ´Ï²Ù»×
2019-09   2911   ¸Þ¶Ñ±â°¡¸é¸Ç
2015-03   3967   ¿À¸®½ÃÅ°
2017-05   3582   ¹«¾Æ
03-09   1199   ¿öµåÇÁ·¹½º
2013-12   3709   ¿¹»ó¾Æºü
2019-10   3974   nmap
2022-08   1430   L2½ºÀ§Ä¡
2022-08   1090   ÇÁ·Î½Ã¾Æ
2011-06   8295   °¡ºü·Î±¸³ª
2018-08   6175   À¸¶óÂ÷Â÷Â÷
2021-01   3798   ¹ü¹üÀÌ
03-29   940   °ú¾Ï
2013-12   9177   ±è»ó¹Î
2013-12   4019   inquisitive