자바의 정석 - 기초편

기본형 매개변수

ODaram 2022. 8. 8. 14:19

기본형 매개변수

> 기본형 매개변수 (8개) - 변수의 값을 읽기만 할 수 있다. (read only) 
     -> 변경 불가

ex)

Class Data { int x; }

Class Ex6_6 {

  public static void main (String[] args) {

      Data d = new Data();     // 참조변수 d 만든 후 new Data 객체 생성

      d.x = 10;

      System.out.println(" main() : x = " + d.x);           // d.x = 10

      

      change(d.x);    // change 메서드 호출

      System.out.println ( "After cahnge (d.x)" );

      System.out.println ("main() : x = " + d.x);

   }

  Static void change (int x) {

     x = 1000;

     System.out.prinln ("change() : x = " + x);    // x=1000

   }

}

=> 결과

main() : x = 10

change() : x = 1000

After change(d.x)

main() : x = 10

참조형 매개변수

> 참조형 매개변수 - 변수의 값을 읽고 변경할 수 있다. (read & write)

 

ex)

Class Data { int x; }

Class Ex6_6 {

  public static void main (String[] args) {

      Data2 d = new Data2();     // 참조변수 d 만든 후 new Data 객체 생성

      d.x = 10;

      System.out.println(" main() : x = " + d.x);           // 

      

      change(d);    // change 메서드 호출

      System.out.println ( "After cahnge (d)" );

      System.out.println ("main() : x = " + d.x);

   }

  Static void change (Data2 d) {        // 참조형 매개변수

     d.x = 1000;

     System.out.prinln ("change() : x = " + d.x);    // 

   }

}                                                                            

=> 결과

main() : x = 10

change() : x = 1000

After change(d)

main() : x = 1000

 

Data2 d 메서드에게  참조형 매개변수를 통해서 객체의 주소를 전달해주면,

change 메서드에서 참조변수를 이용해서 객체를 다룰 수 있음 ( 읽기, 쓰기)

 

참조형 반환타입

참조형 반환타임

                     객체의 주소를 반환함 (or 객체를 반환함)

'자바의 정석 - 기초편' 카테고리의 다른 글

오버로딩 (overloading)  (2) 2022.08.08
Static 메서드와 인스턴스 메서드  (0) 2022.08.08
호출 스택 (call stack) - 중요!  (0) 2022.08.05
Return 문, 반환값  (0) 2022.08.05
메서드 호출  (0) 2022.08.04