데이터 타입
1. Primitve type : 정수, 실수, 문자, 논리 리터럴을 직접 저장하는 타입
2. Non-Primitive type
Reference Type
참조형 타입(Reference Type)
- 기본형 타입을 제외한 타입들이 모두 참조형 타입이다.
- null 값이 존재한다
- 주소값을 저장하는 공간으로 Heap에 저장된다.
ReferenceType 자료형 보다 기본형 자료형을 선호하는 이유
- 산술 연산이 가능하다.
- 매개변수로 객체가 요구되지 않을 때
- 기본값을 주어져서 저장할 때
- 객체간의 비교가 없을 때
참조 타입 변수들 간의 !=, == 연산은 동일한 객체를 참조하는지, 다른 객체를 참조하는지 알아볼 때 사용
참조 타입 변수의 값 -> 힙 영역의 객체 주소(값을 비교하려면 equals)
문자열 저장
- 변수는 Stack 영역에 생성
- 문자열 리터럴은 Heap Area에 String 객체로 생성됨
- 변수에는 String 객체 주소 값 저장
- 문자열 리터럴이 동일하면 String 객체를 공유함
new 연산자 -> Heap Area에 새로운 객체 만들 때 사용하는 연산자
But, new 연산자를 통해 생성된 String 객체 -> 서로 다른 String 객체 참조
리터럴 : 소스 코드 내에서 직접 입력된 값