본문 바로가기

객체 지향 프로그래밍 - 참조 타입

참조 타입 변수의 ==, != 연산

==, != 연산자

  • ==, != 연산자는 객체의 번지를 비교해 변수의 값이 같은지, 아닌지를 조사
  • 번지가 같다면 동일한 객체를 참조하는 것이고, 다르다면 다른 객체를 참조하는 것


    출처, 이것이 자바다


package ch05.sec03;

/*
 * 참조타입 : 배열편
 * 배열형식 : 데이터타입[]
 * 배열 데이터 타입 사용법
   문법> 데이터타입[] 이름 = new 데이터타입[배열크기];

    데이터타입[] 배열이름 : // 스택영역에 기억장소 생성
    베열이름 = new 데이터타입[크기]; //힙영역에 기억장소 생성
 */
public class ReferenceVariableCompareExample {

    public static void main(String[] args) {
        //참조타입으로 선언한 변수는 기본값이 자동으로 null이된다.
        //스택영역에 기억장소 생성
        int[] arr1; //실제 데이터가 저장되어 있는 주소(번지)가 저장된다.
        int[] arr2;
        int[] arr3;

        //new -> 메모리 생성 연산자
        //[] -> 생성하고자 하는 기억장소의 크기
        //힙영역에 기억장소 생성
        arr1 = new int[] {1, 2, 3};
        arr2 = new int[] {1, 2, 3};
        arr3 = arr2; //arr2변수가 가지고 있는 주소를 arr3에 대입한다.

        //주소비교.
        System.out.println(arr1 == arr2); -> false
        System.out.println(arr2 == arr3); -> true

    }

}

package ch05.sec03;
/*
 기본데이터 타입의 변수와 배열
 */
public class TypeCompare {

    public static void main(String[] args) {

        //변수를 개별선언
        int a = 1;
        int b = 2;
        int c = 3;
        int d = 4;
        int e = 5;

        //데이터타입이 동일하다.
        //3개의 변수가 용도가 같다.

        //위의 변수3개를 하나의 이름으로 사용.
        int[] arr = new int[5];
        arr[0] = 1;
        arr[1] = 2;
        arr[2] = 3;
        arr[3] = 4;
        arr[4] = 5;


    }

}

'객체 지향 프로그래밍 - 참조 타입' 카테고리의 다른 글

다차원 배열  (0) 2023.01.15
배열(Array) 타입  (0) 2023.01.15
문자열(String) 타입  (0) 2023.01.15
null과 NullPointerException  (0) 2023.01.15
데이터 타입 분류, 메모리 사용 영역  (0) 2023.01.15