logo

Java의 참조 데이터 유형

Java는 두 가지 유형을 제공합니다.

실파 셰티 나이

Java 참조 유형

Java에는 다음과 같은 5가지 유형의 참조 유형이 있습니다.

참조 유형 설명
수업 일련의 지침입니다. 개체의 내용을 설명합니다.
정렬 동일한 유형의 요소를 저장하는 고정 크기 데이터 구조를 제공합니다.
주석 이는 메타데이터를 프로그램 요소와 연관시키는 방법을 제공합니다.
상호 작용 Java 클래스로 구현됩니다.
열거 유형이 안전한 특별한 종류의 클래스입니다. 열거형 내부의 각 요소는 해당 열거형의 인스턴스입니다.

참조 및 기본 데이터 유형

참조 유형 기본 유형
문자열을 제외하고는 미리 정의되어 있지 않습니다. Java에서는 사전 정의되어 있습니다.
모든 참조 유형은 대문자로 시작됩니다. 모든 기본 유형은 소문자로 시작됩니다.
기본이 아닌 유형은 모두 동일한 크기를 갖습니다. 기본 유형의 크기는 데이터 유형에 따라 다릅니다.
메소드를 호출하거나 호출하는 데 사용됩니다. 기본 유형으로는 메소드를 호출할 수 없습니다.
null일 수 있습니다. null일 수 없습니다. 항상 가치가 있습니다.
참조 데이터 유형의 예로는 클래스, 배열, 문자열, 인터페이스 등이 있습니다. 기본 데이터 유형의 예로는 int, float, double, Boolean, long 등이 있습니다.
JVM은 기본적으로 각 참조 변수에 8바이트를 할당합니다. 크기는 데이터 유형에 따라 다릅니다.
: 데모 d1; : 정수 번호=78;

메모리 할당 및 가비지 수집

자바에서는 새 키워드 을 생성하는 데 사용됩니다 사례 수업의. 즉, 클래스를 할당하여 인스턴스화합니다. 메모리 새 객체에 대해 해당 메모리에 대한 참조를 반환합니다. 객체는 Java 힙 공간에서 메모리를 차지합니다. new 키워드를 사용하여 배열 객체 .

 ClassName objectName = new ClassName(); 

개체에 대한 참조가 없으면 가비지 수집 프로세스 중에 해당 개체에 사용된 메모리를 회수할 수 있습니다.

기본 유형과 참조 유형 간의 변환

기본 유형을 참조 유형으로 변환하는 것을 호출합니다. 오토박싱 참조 유형을 기본 유형으로 변환하는 것을 호출합니다. 언박싱 .

참조 유형 비교

Java의 참조 유형을 비교할 수도 있습니다. Java는 참조 유형을 비교하는 두 가지 방법을 제공합니다.

등호(==) 연산자를 사용하여

객체의 메모리 위치를 비교합니다. 두 객체의 메모리 주소(참조)가 동일하면 객체는 동일합니다. 객체의 내용을 비교하지 않는다는 점에 유의하세요. 예를 들어:

 Demo d1 = new Demo('Atlanta'); //creating a reference of Demo class Demo d2 = d1; //assigning the reference d1 into d2 if(d1=d2) //comparing reference 

String.equals() 메서드를 사용하여

방법은 다음에 속합니다. 수업. 이는 같음() 의 방법 물체 수업 . 또한 참조 유형을 비교하기 위해 등호 연산자(==)를 사용합니다. 예를 들어 다음 코드 조각을 고려해보세요.

 String str1='JAVA'; String str2='JAVA'; String str3='java'; System.out.println(str1.equals(str2)); //returns true because content and case is same System.out.println(str1.equals(str3)); //returns false because case is not same 

참조 유형 복사 중

참조 유형을 복사할 때 두 가지 가능성이 있습니다. 객체에 대한 참조 복사본이 만들어지거나 객체의 실제 복사본(새 복사본 생성)이 만들어집니다.

다음 예에서는 객체에 대한 참조를 할당했습니다. 객체를 변경하면 참조도 반영되며 그 반대의 경우도 마찬가지입니다.

 Sum s1 = new Sum(); Sum s2= s1;