Java/Theory

[Java/Theory]05. Reference

양승길 2016. 5. 30. 13:07

5. Reference

5-1. Reference Datatype의 키워드

    1. new

       해당 Datatype의 사이즈를 결정하는 동적 할당 키워드.

       A a = new A();

       의미 : new라는 키워드를 통해 class A를 메모리에 적재하여 instance를 생성한다. 

              변수 a는 생성된 인스턴스의 주소를 참조한다.

                  위의 경우 A라는 클래스를 instance화 하였다.


        2. .

           Reference에서 관계를 참조하는 키워드


5-2. Call by value, Call by reference

    1. Call by value.

       값을 복사해서 함수에 넘겨주는 방식.

       원본의 값이 변경될 가능성이 없다는 특징을 가지고 있지만,

       값을 넘겨 줄때마다 고비용, 복사손실 문제가 발생하는 단점도 있다. 

       Ex 1 : 

1
2
3
4
    classA.num = 100;
    classA.increaseNum(classA.num);
    // 100이라는 값만 전달함.
    // classA.num는 변함 없음.
cs


    2. Call by reference

       생성된 Instance의 주소 값을 전달하는 함수 호출이다.

       복사손실과 고비용 문제에서는 벗어났지만, 원본의 값의 변경이 일어 날 수 있다.

       Ex 2 :     

1
2
3
4
    classA.num = 100;
    classA.increaseNum(classA);
    // Instance를 참조하는 변수를 전달
    // classA.num는 증가되어 있음.
cs


'Java > Theory' 카테고리의 다른 글

[Java/Theory]07. 상속  (0) 2016.05.30
[Java/Theory]06. OOP  (0) 2016.05.30
[Java/Theory]04. Operator, Condition, Array  (0) 2016.05.30
[Java/Theory]03. Datatype  (0) 2016.05.30
[Java/Theory]02. 환경변수  (0) 2016.05.30