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;