기본형과 참조형
자바에서 참조형을 제대로 이해하는 것은 정말 중요합니다. 이번에는 기본형과 참조형에 대해서 더 깊이 있게 알아보고 확실하게 정리해 보겠습니다.
변수의 데이터 타입을 크게 보면 기본형과 참조형으로 분류할 수 있습니다. 사용하는 값을 변수에 직접 넣을 수 있는 기본형, 객체가 저장된 메모리의 위치를 가리키는 참조형으로 분류할 수 있습니다.
- 기본형 : int, long, double, boolean처럼 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입을 기본형이라 합니다.
- 참조형 : Student student1, int[ ] students와 같이 데이터에 접근하기 위한 참조(주소)를 저장하는 데이터 타입을 참조형이라고 합니다. 참조형은 객체 또는 배열에 사용됩니다.
정리하면 기본형 변수에는 직접 사용할 수 있는 값이 들어가지만 참조형 변수에는 참조값이 들어갑니다. 참조형 변수를 통해서 뭔가 하려면 결국 참조값을 통해 해당 위치로 이동해야 합니다.
기본형은 숫자 10, 30과 같이 실제 사용하는 값을 변수에 담을 수 있습니다. 그래서 해당 값을 바로 사용할 수 있습니다.
참조형은 실제 사용하는 값을 변수에 담는 것이 아니라 이름 그대로 실제 객체의 위치(참조, 주소)를 지정합니다. 참조형에는 객체와 배열이 있습니다.
- 객체는 .(dot)을 통해서 메모리 상에 생성된 객체를 찾아가야 사용할 수 있습니다.
- 배열은 [ ]를 통해서 메모리 상에 생성된 배열을 찾아가야 사용할 수 있습니다.
기본형과 참조형의 변수 대입
자바는 항상 변수의 값을 복사해서 대입합니다.
자바에서 변수에 값을 대입하는 것은 변수에 들어 있는 값을 복사해서 대입하게 됩니다. 기본형, 참조형 모두 항상 변수에 있는 값을 복사해서 대입합니다. 기본형이면 변수에 들어 있는 실제 사용하는 값을 복사해서 대입하고, 참조형이면 변수에 들어 있는 참조값을 복사해서 대입합니다.
기본형의 예를 들면 int a = 10; int b = a; 참조형의 예를 들면 Student student1 = Student(); Student student2 = student1;
기본형은 변수에 값을 대입하더라도 실제 사용하는 값이 변수에 바로 들어있기 때문에 해당 값만 복사해서 대입하지만 참조형의 경우 실제 사용하는 객체가 아니라 객체의 위치를 가리키는 참조값만 복사하게 됩니다. 쉽게 이야기해서 건물을 예를 들면 건물이 복사가 되는 것이 아니라 건물의 위치인 주소만 복사가 되는 것입니다. 따라서 같은 건물을 찾아갈 수 있는 방법이 하나 늘어나는 것입니다.
Java관련 포스팅 글 추천
'IT관련 정보' 카테고리의 다른 글
변수와 초기화 (0) | 2024.02.22 |
---|---|
Java 공부편 - 기본형과 참조형(2)_메서드 호출 (0) | 2024.02.08 |
Java 공부편 - 클래스(2) (0) | 2024.01.17 |
Java 공부편 - 클래스가 필요한 이유(1) (0) | 2024.01.16 |
Java 공부편 - 메서드 (0) | 2024.01.15 |