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

   Á¶È¸ 3713   Ãßõ 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 1485/5700
2014-05   5045211   Á¤ÀºÁØ1
2015-12   1581504   ¹é¸Þ°¡
2018-04   3712   È£¹Ú°í±¸¸¶
2019-12   3712   Àâ½Ä
2022-11   3712   ÇÚÁî
2019-09   3712   °Ü¿ï³ª¹«
2017-03   3712   Àª¶ó¸ä
2016-02   3712   º¹½Ç°­¾ÆÁö
2014-11   3712   ¹ÏÀ½·ç¹Ì
2017-05   3712   ¿À¼º±â
2018-03   3712   ¹Ú¹®Çü
2018-09   3712   µ¿Ä¡¹Ì
2017-11   3712   ³ª´Â³ªÀÔ´Ï´Ù
2018-08   3712   kking
2018-10   3712   ¾Æ¸§¼Ò¸®
2016-02   3712   ½ÅÀº¿Ö
2019-10   3712   Àü½ÂÀ±
2019-07   3712   ¹é°ñ¹Ù¶÷dz
2014-06   3712   ¿ø»óÇö
2016-07   3712   ȸ¿øK
2021-11   3712   ´ÙÇÔ²²½Î´Ù±¸
2020-01   3712   Èë±â»ç