배열, CallbyValue_20260707

JAEWOONG LEE·2026년 7월 7일
post-thumbnail

K[0] = new K[0][] 가능하다, 나중에 주겠지.
하지만 1차 배열만은 반드시 길이를 정해줘야 한다.
메소드를 못다루면 말이 안된다.(빨간색)
하는일? 기능->조건문, 반복문(연산자)

메소드 또는 함수가 왜 필요한가? 코드 재사용(빨간색)

package Day5;

public class CrCvTest
{
//Call by Value
static void callByValue(int a)
{
a = 10; 여기서 a는 30이었지만 a는 10으로 변경된다.
}

static void main()
{
    int a = 30;
    callByValue(a); //여기서 a는 여전히 30이다. 넘겨주기만 한다.
}

}

package Day5;

class A
{
String sName;
}

public class MATest
{
static int[] a()
{
int[] a= new int[3];
return a;
}
static void b(int[] a)
{
a[0] = 20;
}
static void c(int[] a)
{
a[1] = 20;
}

static void dMethod(A a)
{
    a.sName= "홍길동";
}

static void main()
{
    int[]c = new int[3];
    int[]b = a();
    b(c);
    c(b);		//콜 바이 레퍼런스
    System.out.println(c[0]+","+c[1]+","+c[2]);
    System.out.println(b[0]+","+b[1]+","+b[2]);

    A a = new A();   //단지 생성자// 사람을 만들었어

    dMethod(a);     //이걸 메소드에 넣어서 이름을 지어준다.

    a.sName = "안녕";
    홍길동은 휘발유, 아버지차를 빌려쓰다보니 기름의 양이 줄어 안녕이 되었다.
    CallbyValue
    System.out.println(a.sName);
}

}

profile
just for programming test

0개의 댓글