기본타입
정수,실수,문자,논리 리터럴을 저장하는 타입
참조타입
객체(object)의 번지를 참조하는 타입으로 배열,열거,클래스,인터페이스를 말한다.
실제 값을 변수로 저장하는 기본타입과 달리 번지를 변수안에 저장한다.
메모리사용영역
1.메소드 영역
JVM이 시작할때 생성되고 모든 스레드가 공유하는 영역
클래스들을 클래스 로더로 읽어 클래스별로
정적필드,정적상수,메소드 코드, 생성자 코드등을 분류해 저장한다.
2.힙영역
객체와 배열이 생성되는 영역
3.JVM 스택
메소드를 호출할때마다 프레임을 추가하고 메소드가 종료되는 해당 프레임을 제거하는 동작을 수행한다.
참조의 ==, !=연산
동일한 객체를 참조하는지 아닌지를 확인한다.
참조의 NULL
해당 참조 타입변수가 힙영역의 객체를 참조하지 않는다는 뜻이다.
String 타입
문자열 리터럴이 동일하다면 String 객체는 공유하게 되어있지만
new연산자를 통해 새로운 객체를 만들어 낼수도있다.
public class a4_ref {
public static void main(String[] args){
String s1= "하이";
String s2= "하이";
System.out.println(s1==s2);
}
}
//출력
true
public class a4_ref {
public static void main(String[] args){
String s1= new String("하이");
String s2= new String("하이");
System.out.println(s1==s2);
}
}
//출력
false
'Language > JAVA' 카테고리의 다른 글
[JAVA] 배열 (0) | 2024.05.13 |
---|---|
[JAVA] 조건문, 반복문 (0) | 2024.05.11 |
[JAVA] 연산자, 증감연산자,삼항연산자 (0) | 2024.05.09 |