변수에 값 자체가 저장됨
stack영역 변수 | 값 |
---|
정수 타입
byte cahr short int long
참조 타입
float double
논리 타입
boolean
객체가 생성된 메모리 번지수를 저장
stack영역 변수 | 메모리 번지 -> | heap영역 해당 메모리 번지 | String 객체 (여기에 문자열이 있음) |
---|
배열 열거 클래스 인터페이스
객체
데이터(필드)와 메소드로 구성된 덩어리?..
runtime data area
메소드 영역 | 힙 영역 | 스택 영역 |
---|---|---|
클래스 상수, 정적 필드, 메소드 코드, 생성자 코드 | 객체, 배열 | 스레드 마다 있음 프레임 내부 : 로컬 변수 스택 |
바이트 코드 파일의 내용이 저장되는 영역 | 객체가 생성되는 영역 | 메소드를 호출할 때마다 생기는 프레임이 저장됨 |
문자열 타입의 변수는 참조 타입 변수로 값 자체가 아닌 메모리 번지를 가지고 있어서 메모리 번지와 비교하는 것이 되기 때문에 안됨
= 문자열 내용이 같아도 서로 다른 객체를 참조하면 (메모리 번지가 다르면) 다르다고 인식됨