본문 바로가기

Programming/Java

(Java) 원시 변수 와 레퍼런스 그리고 배열

ㅁ 원시 변수 와 레퍼런스 그리고 배열
    변수는 컵이라고 할 수 있다. 뭔가를 담아두기 위한 용도로 사용

---------------------------------------------------------------------------------------------------
ㅁ 원시 유형 :  유형, 비트수, 범위

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();

반응형