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

   Á¶È¸ 3596   Ãßõ 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 1420/5672
2014-05   4927460   Á¤ÀºÁØ1
2015-12   1464948   ¹é¸Þ°¡
2014-11   3534   ±è¿µ±â´ëÀü
2015-07   3534   Àü¼³¼ÓÀǹ̡¦
2014-04   3534   ȲÁø¿ì
2018-06   3534   AplPEC
2016-04   3534   psj1050
2019-08   3534   Á¤ÀǼ®
2016-08   3534   Áö´Ïº¸ÀÌ
2014-02   3534   ¹Ì¿ì
2018-04   3534   ÁÒ½´¾Æ
2019-07   3534   NAS°íÀå³µ´Ù¡¦
2014-03   3534   ÀÌÁöÆ÷Åä
2017-07   3534   ³ªÆÄÀÌ°­½ÂÈÆ
2016-01   3535   DaVinci
2020-01   3535   Ȧ¸¯0o0
2017-08   3535   ÁÖ´ÔÇѳ𸸡¦
2016-03   3535   Çϱվƺü
2019-04   3535   ´ë¹Úµ¹ÀÌ
2016-08   3535   ³ª³ª³ª³ª³ª
2015-06   3535   ±èȲÁß
2017-06   3535   ½Öcpu