Notice
Recent Posts
Link
Recent Comments
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

지니의 개발로그

Java 변수의 타입(자료형) - 참조형 변수 본문

내일배움캠프

Java 변수의 타입(자료형) - 참조형 변수

지니♥︎ 2024. 4. 24. 22:32

💡 변수에 대해 알아보자

 1️⃣ 변수의 정의와 분류
 2️⃣ 참조형 변수
 3️⃣ 생각해보기🤔❓
 4️⃣ 참조형 변수의 실제 값 출력하기 : Arrays 클래스
 ➕ 🔗 Java API import 하는 방법
 ➕ 더 알아보기

 


 

변수의 정의와 분류

 

변수데이터 값을 저장할 수 있는 가변적인 메모리공간이다.

Java에서는 데이터 타입(자료형)은 크게 '기본형 타입'과 '참조형 타입'으로 나눌 수 있다.

 

기본형 타입

 

기본형 변수는 글자 그대로의  literal값(리터럴 값=실제 값)이 저장된다.

  • 논리형 : boolean
  • 문자형 : char
  • 정수형 : byte, short, int, long
  • 실수형 : float, double

모두 소문자로 시작되며, 기본값이 정해져있기 때문에 그에 맞는 리터럴 값을 저장해줘야 한다.

 

참조형 타입

 

실제 값이 아닌 객체의 주소 값을 저장한다.

객체의 주소 값이란 자료가 저장된 공간(메모리)의 주소를 의미한다.

 

기본 자료형 타입 8가지를 제외한 나머지는 모두 참조형 타입이 된다.


참조형 변수 

참조형 변수를 println 메소드로 출력해 보자.

public class Main {
    public static void main(String[] args) {
        int[] a = {1,2,3};
        System.out.println(a);
	}
}

 

위의 코드를 실행하게 되면 '주소 값'이 저장되어 있어 아래와 같은 결과가 나온다.

 [I@75b84c92

 

🧩 코드를 살펴보자.

int []는 정수형 배열을 의미하며, 배열은 참조형 타입이다.

a는 배열(객체)을 가리는 메모리 주소를 저장하고 있다.

즉, a는 참조를 저장하는 변수로 '참조형 변수'이다.

참조형 변수는 주소값을 저장하기 때문에

출력도 주소값으로 보이게 된다.

 


🤔❓ 

 

🤍 참조형 타입을 사용하면 실제 값은 어떻게 저장되는가?

👉 힙 메모리에 저장된다.

a는 참조형 변수기 때문에 실제 값을 직접 담지 않고

실제 데이터는 힙 메모리에 저장된다.

참조란 데이터가 저장된 힙메모리 위치 주소 값을 가리키고 있다는 의미이다.

 

🤍 객체의 주소를 통해 객체의 실제 값에 접근할 수 있는가?

👉 가능하다.

Arrays 클래스의 toString을 사용하면 실제 값을 출력할 수 있다.

아래에서 알아보자.

 


참조형 변수의 실제 값 출력하기

참조형 변수를 사용할 경우 일반 출력 시 주소값이 나오는데,

주소 값이 아닌 실제 값을 출력하고 싶다면

Java에서 제공하는 유틸리티의 Arrays 클래스에서 toString이라는 기능을 이용하면 된다.

 

풀어 말하니 길지만 이런 코드를 사용하는 것이다.

System.out.println(Arrays.toString(참조형 변수));

 

코드의 사용예시는 아래와 같다.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] a = {1,2,3};
        System.out.println(Arrays.toString(a));
	}
}

 

아래와 같이 실제 값(리터럴 값)이 잘 출력된다.

[1, 2, 3]

 

🧩 코드를 살펴보자.

자바 표준 출력 메서드 입력한다 : System.out.println()

유틸리티 Arrays 클래스에서 기능을 이용할 땐

콤마(.)를 이용하여 아래와 같이 사용한다.

Arrays.toString() 

괄호 안 참조형 변수 a  입력.

참조형 변수임에도 주소 값이 아닌 

힙 메모리에 저장되어 있던 실제 값이 출력된다.


➕ 더 알아보기

🔗 Java API import 하는 방법 : Arrays 클래스

 

🔗 println 메소드는 실무에서 절대 사용하지 마라?

https://systemdata.tistory.com/21

 

System.out.println 메소드는 실무에서 `절대 사용하지마라.`

목차개요System.out.println 무엇인가?왜 사용해서는 안되는가?로그를 남기면 안되는 것인가?결론1. 개요프로그래밍을 처음 접하면 System.out.println(”Hello World”);같이 콘솔에 출력하는 것을 배울 것이

systemdata.tistory.com