2008. 7. 15. 23:14

chapter 3 원시변수와 객체 레퍼런스 변수

3. 원시변수와 레퍼런스
변수는 원시변수와 객체 레퍼런스로 나누어지며, 이전까지는 변수를 객체상태(인스턴스 변수)지역 변수(메소드 안에서 정의된 변수)로만 사용했으나,
이번장에서는 추가적으로 인자(호출하는 코드에 의해 메소드로 전달되는 값)
리턴 유형(메소드를 호출한 부분으로 돌아가는 값)으로도 사용한다.

자바는 유형을 철저히 따진다(byte에 short나 int 변수를 집어넣지 못한다)
변수는 유형과 이름을 반드시 갖고 있어야 한다.

숫자원시변수는 아래와 같다
이름                크기
byte                8비트(-128~127)
short               16비트(-32768~32767)
int                   32비트
long                64비트

(부동소수점 소수)
float                32비트
double            64비트

변수에 값을 대입하는 방법
등호 옆에 리터럴 값을 입력하는 방법(x=12, isGood=true 등)
한 변수의 값을 다른 변수에 대입하는 방법(x=y)
두가지를 병행하는 방법 (x=y+2)

변수 생성 규칙
알파벳, 언더바(_), 달러($)로 시작해야 한다.(숫자로 시작 안됨)

예약어를 이름으로 사용해서는 안된다
BCBILFD (boolean, char, byte, int, long, float, double)

myDog.bark(); -> myDog라는 변수로 참조할 수 있는 객체를 이용하여 bark()메소드를 호출하라는 의미

Dog myDog = new Dog();
myDog라는 레퍼런스 변수를 생성합니다(Dog 유형의 변수네요.)
힙에 새로운 Dog 객체를 위한 공간을 마련하도록 합니다.
새로운 Dog 객체를 myDog 레퍼런스 변수에 대입합니다.

int [] nums ; -> int 유형의 nums 레퍼런스 변수를 정의한다.
nums = new int[7]; -> 길이가 7인 새로운 int 배열을 생성하고 nums 라는 int[] 변수에 대입한다.