값 자체가 아닌 **값이 저장된 위치(주소)**를 저장하는 타입 변수 안에 실제 데이터가 아니라 메모리 주소가 들어있다.
정수 타입 | byte | char | short | int | long |
---|---|---|---|---|---|
실수 타입 | float | double | |||
논리 타입 | boolea |
배열타입 | 열거타입 | 클래스 | 인터페이스 |
---|
string은 문자들의 문자열을 저장하는 참조 타입 String은 클래스이자 참조형 자료형
String name = "이이섭";
// name은 "이이섭"이라는 문자열이 저장된 메모리 주소를 참조
// 문자열은 변수에 직접 저장되는 게 아니라 힙(Heap)영역에 메모리의 String객체를 가리킴
문자열은 == 으로 비교하면 안 됨 반드시 equals() 사용
String a = new String("hi");
String b = new String("hi");
System.out.println(a == b); // false (주소 비교)
System.out.println(a.equals(b)); // true (내용비교)
배열은 같은 타입의 값들을 하나로 묶음으로 저장하는 참조타입. int, String, double 같은 단일 값이 아니라 여러 개의 값을 한 번에 저장하고 관리하는 자료형
전 | 후(배열사용) |
---|---|
int a = 10; | int[ ] nums = {10, 20, 30}; |
int b = 20; | |
int c = 30; |