ㅁ 원시 변수 와 레퍼런스 그리고 배열
변수는 컵이라고 할 수 있다. 뭔가를 담아두기 위한 용도로 사용
---------------------------------------------------------------------------------------------------
ㅁ 원시 유형 : 유형, 비트수, 범위
1) 부울과 문자
boolean : true 또는 false(JVM에 따라 다름)
char : 16비트 (0~65535)
2) 숫자(모두 부호가 있음)
1. 정수
byte 8비트 -128~127
short 16비트 -32768~32767
int 32비트 -2147483648~2147483647
long 64비트 -아주큰값 ~아주큰값
2. 부동소수점 소수
float 32비트 바뀔수 있음 (float f = 32.5f <----소수점을 쓸경우 자바에는 f를 붙여줘야한다)
double 64비트 바뀔수 있음
※ 이렇게 하면 에러가 발생한다(큰 메모리 -> 작은 메모리 (x)) : 반대의 경우 허용
int x = 24;
byte b = x ;
※ 변수 선언시 참고 사항
1. 숫자로 시작하지 않는다(알파벳 & 밑줄(_) & 달러기호($)
2. 두번째 문자 부터는 숫자 가능
3. 예약어랑 같은 이름 사용하지 않기
---------------------------------------------------------------------------------------------------
ㅁ 레퍼런스 변수
Dog myDog = new Dog();
//설명
레퍼런스변수(레퍼런스 변수용 공간을 할당해달라고 요청하고 그 변수명을 myDog로 지정) //Dog myDog 부분
= 객체 생성(힙에 새로운 Dog 할당) // New Dog() 부분
/////////////////////////////////////////////////////
※ 객체 할당 및 할당 내용
Book b = new Book();
Book c = new Book();
b -> 1(Book 객체)
c -> 2(Book 객체)
| 가비지 기능이 있는 힙 영역
Book d = c;
b -> 1(Book 객체)
c -> 2(Book 객체)
d -> 2(Book 객체)
| 가비지 기능이 있는 힙 영역
c = b;
b -> 1(Book 객체)
c -> 1(Book 객체)
d -> 2(Book 객체)
| 가비지 기능이 있는 힙 영역
d = b;
b -> 1(Book 객체)
c -> 1(Book 객체)
d -> 1(Book 객체)
2(버림 받은 객체)
| 가비지 기능이 있는 힙 영역
c = null; (null 레퍼런스) - 객체 참조하지 않는다.
///////////////////////////////////////////////////////
-----------------------------------------------------
ㅁ 배열 선언
1) 인트 배열 선언
int[] nums; //인트 배열 선언
nums = new int[7] //길이가 7인 새로운 int 배열 생성하고 nums에 대입(배열 자체는 객체이다)
nums[0] = 6;
nums[1] = 2;
2) Dog 배열 선언(객체)
Dog[] pets; // Dog 배열 선언
pets = new Dog[7];
pets[0] = new Dog(); //Dog 객체 삽입
pets[1] = new Dog();