프로그래밍/JAVA

기본타입 변수 VS 참조타입 변수

코딩딩 2016. 4. 6. 21:24

변수란?

하나의 값을 저장할 수 있는 메모리의 공간을 말함




변수를 사용하는 이유?

프로그램에 의해서 값이 수시로 변하기 때문




변수의 종류

타입에 따른 구분

      • 기본타입 변수

기본 데이터 타입인 byte, char, short, int, long, float, double, boolean을 이용해서 선언된 변수

실제값을 변수안에 저장

      • 참조타입 변수

참조타입인 배열, 열거, 클래스, 인터페이스를 이용해서 선언된 변수

메모리의 번지를 값으로 가진다. 번지(위치주소)를 통해 객체를 참조.




변수의 선언

기본타입 변수

int age = 35;

int price = 10000;


참조타입변수

String name = "홍길동";

String location = "서울";




기본타입과 참조타입 변수의 값

기본타입의 변수는 실제값( 아래 그림의 숫자 10000,35)을 변수 price,age에 담고

참조타입 변수는 실제 객체는 힙영역에 생성되고 생성된 곳의 위치정보를 저장한다.

아래그림에서 볼 수 있듯이 "홍길동"이라는 문자열은 힙영역에 String객체 안에 저장됨. 이때의 위치가 10번지라고 한다면,

그 위치정보를 참조타입변수 name에 저장한다.

그리고 name이라는 변수를 사용할때 저장된 위치정보를 이용해서 10번지로 찾아가 String객체 안의 "홍길동"이라는 문자열에 접근하게 된다.