의견.png

"참조변수"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
21번째 줄: 21번째 줄:
 
int, char같은 기본 타입 변수는 스택(Stack) 영역에 직접 값을 갖고 있지만, 참조 타입 변수는 스택 영역에서 값이 아니라 힙 영역(Heap)의 주소값을 가진다.  
 
int, char같은 기본 타입 변수는 스택(Stack) 영역에 직접 값을 갖고 있지만, 참조 타입 변수는 스택 영역에서 값이 아니라 힙 영역(Heap)의 주소값을 가진다.  
 
<ref name="참조변수란"><[https://kwaksh2319.tistory.com/107 참조변수란?]>,<<tistory>>,2020-01-20</ref>
 
<ref name="참조변수란"><[https://kwaksh2319.tistory.com/107 참조변수란?]>,<<tistory>>,2020-01-20</ref>
 
+
[[파일:참조변수_예시.PNG]]
 
=== 타입 ===
 
=== 타입 ===
 
* String
 
* String

2020년 8월 13일 (목) 11:23 판

참조변수(參照變數, reference variable)란 실제 값을 가진 변수가 아니라, 값이 들어가 있는 주소를 가지고 있는 변수를 말한다.

개요

변수에 들어가는 값(type)에 따라서 불리는 이름이 달라진다.

숫자가 들어가면 숫자변수, 문자가 들어가면 문자변수 참조값이 들어가면 참조변수라고 한다.

특징

참조형 변수는 정해져 있는 것이 아닌 사용자가 원할때 자기 자신이 원하는 필요한 변수를 만들어서 사용할 수 있다.
한 마디로 정의를 하자면 기본형 8가지를 제외한 모든 것이라고 할 수 있다.
기본적으로 알고있어야 할 참조형 변수 2가지가 있는데, 참고로 기본형 변수는 자료형(Data Type)이지만 참조형 변수는 자료형이 아닌 그냥 형태, 즉, 타입(Type)이라고 할 수 있다.[1]

참조변수는 보통 클래스들인데 일반적으로 메모리 공간이 stack 공간과 heap 공간이 존재한다. 그래서 클래스의 Myclass class=new Myclass() 라고 가정할때 class는 참조 변수로써 stack의 공간에서 주소 저장되어 4byte를 저장한다.
그리고 그 참조변수의 주소값을 따라가서 heap 공간에 있는 Myclass()를 찾아간다.
Myclass의 데이터의 크기는 사용자의 만드는 크기에 따라 다르다.
즉 참조변수는 주소값을 저장한다고 볼 수 있다.

참조 타입의 종류는 배열, 열거, 클래스, 인터페이스가 있다.

int, char같은 기본 타입 변수는 스택(Stack) 영역에 직접 값을 갖고 있지만, 참조 타입 변수는 스택 영역에서 값이 아니라 힙 영역(Heap)의 주소값을 가진다. [2] 파일:참조변수 예시.PNG

타입

  • String

기본적으로 자바에서는 문자열을 처리할 수 있는 자료형이 존재하지 않는다.
기본형 8가지 중에서 '문자'를 처리하는 char만 있지 문자열을 처리할 수 있는 것이 없다.
그렇기 때문에 String은 문자열을 처리하는데 사용하는 변수이다.

  • Scanner

Scanner는 사용자의 입력을 받아야할 때 사용하는 참조형 변수다.
Scanner는 입력을 위한 참조 변수지만 반대로 출력하는데 사용되는 참조 변수도 있으니 유의해야 한다.

선언 방법

String str = new String("자바");

이 코드는 문자열을 처리하는 String 타입의 참조변수를 선언하고
이름이 str이라는 변수를 메모리 Stack 영역에 4byte 크기의 저장공간을 생성한 후,
new 라는 생성자를 이용해 String 참조 변수(객체)를 생성하여
()안에 있는 문자열 "자바"라는 값을 메모리 Heap영역에 저장한 후
그 저장공간의 주소 값을 Stack영역에 생성된 이름이 str이라는 공간에 저장하는 것이다.

Scanner scanner = new Scanner();

Scanner도 마찬가지로 new라는 생성자를 사용해 Scanner 참조 변수를 생성한다.[1]



활용

각주

  1. 1.0 1.1 <참조변수 선언 방법><<tistory>>,2019-05-12
  2. <참조변수란?>,<<tistory>>,2020-01-20

참고자료

같이 보기


  의견.png 이 참조변수 문서는 프로그래밍에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.