- 프리미티브 타입과 레퍼런스 타입
- 기본값이 있어서 null이 존재하지 않음.
- 실제 값을 저장하는 공간 → 스택에 저장됨
- byte, short, int, long, float, double, boolean, char
참조형 타입 (Reference Type)
- 빈 객체를 의미하는 null 존재함
- 실제 값이 아닌 값이 저장되어있는 주소값을 저장하는 공간 → 힙에 저장됨
- class, interface, enum, array, String
- 제네릭 사용 가능
- 변수의 스코프와 라이프타임
- 변수가 선언된 블록 내에서만 변수에 접근할 수 있음
라이프타임 : 변수가 가지는 유효한 시간 (값을 담고 있을 수 있는 주기)
- 변수의 종류에 따라 다름
변수의 종류
- 어디에서 선언했나?
멤버변수 ( 클래스 영역에 선언 ) : 클래스 변수, 인스턴스 변수
지역 변수 ( 블럭 안에 선언 )
- 타입 변환, 캐스팅 그리고 타입 프로모션
- 연산을 수행하는 코드에서 같은 타입끼리 가능
Casting : 명시적 형변환, 큰 데이터 타입에서 작은 데이터 타입으로 형변환
Promotion : 자동/묵시적 형변환, 작은 데이터 타입에서 큰 데이터 타입으로 형변환
- 1차 및 2차 배열 선언하기
- 배열 객체가 생성하려면 값 목록을 이용하거나 new 연산자를 이용하여 생성함
- 그래서 스택에는 주소값을, 힙에 실제 값이 들어있는 요소가 할당됨

- 타입 추론, var
타입 추론 : 타입이 정해지지 않은 변수에 대해서 컴파일러가 변수의 타입을 스스로 찾아낼 수 있도록 하는 기능
- 타입을 명시하지 않아도 됨
- 코드량이 줄고 가독성이 높아짐
- JAVA 10부터 var 사용가능, JAVA 11부터 람다 타입에도 사용가능
- var는 컴파일러가 타입을 유추할 수 있도록 반드시 데이터 초기화해주어야함.
var intVal = 20;
var strVal = "string";
var list = new ArrayList<Integer>();
☕ 그림으로 보는 자바 코드의 메모리 영역(스택 & 힙)
자바의 메모리 영역 이번 포스팅에선 자바(JAVA)를 사용하는 입장에서 알아야 할 메모리 구조 및 특징에 대해서 알아보려고 한다. 자바 프로그램이 실행되면 JVM(자바 가상 머신)은 OS로부터 메모
inpa.tistory.com
[자바] 선언위치에 따른 변수의 종류 3가지
선언위치에 따른 변수의 종류 3가지 1. 클래스 변수, 2. 인스턴스 변수, 3. 지역변수에 대해 알아봅시다.
velog.io
[Java] 자바 배열(array) 선언하고 생성하기
배열: 같은 타입의 데이터를 연속된 공간에 나열하고, 각 데이터에 인덱스index를 부여해놓은 자료구조, 인덱스: 배열 항목에 붙인 번호. 0번부터 시작하며 0~(배열길이–1)까지 범위를 가짐, 배열
hongong.hanbit.co.kr
[Java] 타입 추론 var
타입 추론 이 글은 참조(https://velog.io/@composite/Java-10-에서-var-재대로-사용하기) 하였습니다. 타입추론은 정적 타이핑을 지원하는 언어에서, 타입이 정해지지 않은 변수에 대해서 컴파일러가 변수
93jpark.tistory.com
'Backend Study > 나Java봐라~' 카테고리의 다른 글
연산자 (0) | 2023.08.06 |
---|---|
자바 소스파일(.java)을 JVM으로 실행하는 과정 (0) | 2023.07.30 |
익명클래스 → 람다 ??? (0) | 2023.04.19 |
인텔리제이에서 shift + F10 을 누르면 생기는 일 (1) | 2023.04.13 |