-
[자바(JAVA)] 변수와 상수, 기본형 변수, 참조형 변수, 래퍼 클래스(wrapper class)JAVA 2023. 5. 23. 02:21728x90
변수와 상수
변수: 값이 변하는 것
상수: 값이 변하지 않는 것 (= 한번 값이 정해지면 끝까지 변하지 않는 수)
🔸 변수 저장(할당)의 2가지 방법
1. 선언과 동시에 초기화하기
* int(정수): integer의 약자
저장공간 타입의 선언 및 값을 동시에 선언함(=초기화)
2. 선언 후 값 저장하기(=덮어쓰기)
상수: 변하지 않는 저장공간
ex) PI(3.14...)
final int number = 10;
상수로 선언시 앞에 final을 붙여주면 된다.
단, 상수는 변하지 않는 값이기 때문에 로 선언한 number의 값은 변경 불가(에러발생)
변수의 형태 (기본형, 참조형)
1. 기본형: 숫자, 문자, Boolean,...
2. 참조형: 주소값을 참조하는 형식으로 사용함
(한번에 저장하긴 어렵고 어딘가에 별도로 저장해놓고 그 주소값을 참조하는 식으로 저장하는게 참조형임)
🔹 기본형 변수
- 논리형 변수 : boolean
- True/False 값만 저장한다.
- 문자형 변수 : char
- ‘A’, ‘1’ 와 같은 문자 하나만 저장한다.
- 정수형 변수 : byte, short, int, long
- byte(1byte)
- short(2byte)
- int(4byte)
- long(8byte)
- 정수형은 리터럴 구분값(접미사)를 사용하는 경우가 있다.
🔹 참조형 변수(= 주소형 변수)
어느 공간에 있는 주소값을 바라보고 있는 변수를 말한다.
참조형 변수
- 주소값: Stack 영역에 저장
- value : Heap 영역에 저장
기본형 변수
- value: Stack영역에 저장
1. 문자열 변수
public class Main { public static void main(String[] args) { String helloWorld = "Hello World"; System.out.println(helloWorld); } }
2. 배열
public class Main { public static void main(String[] args) { int[] a = {1, 2, 3}; System.out.println(a); } }
*출력시 결과값: [I@776ec8df
참조형 데이터는 주소값을 저장하기 때문에 System.out.print(a)로 출력시 주소값이 출력됨
🔻배열의 데이터값을 출력하길 원할 경우
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]
Stack영역: 기본형 변수(원본값)
참조형 변수 (주소값)
Heap 영역: 참조형 변수 원본값 저장
*Heap영역= 동적으로 할당된 메모리
📙 래퍼 클래스 변수
래퍼 클래스(wrapper class)
-기본 자료타입(primitive type)을 객체로 다루기 위해서 사용하는 클래스
기본형 변수를 클래스로 감싸서 사용함
기본 타입 래퍼 클래스 byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean 래퍼 클래스(wrapper class)
public class Main { public static void main(String[] args) { int number = 21; Integer num = number; //boxing System.out.println(num.intValue()); // unboxing } }
출력값: 21
728x90'JAVA' 카테고리의 다른 글
- 논리형 변수 : boolean