책상은 인스턴스다. X
책상은 객체다. O
책상은 책상 클래스의 객체다. X
책상은 책상 클래스의 인스턴스다. O
클래스로부터 인스턴스를 생성하는 것
class TvProduct{
String color;
boolean power;
int channel;
void power( power = !power;)
void channelUp(channel++;)
void channelDown(channel--;)
}
//(참조형 변수)
TvProduct ssamTv;
ssamTv = new TvProduct();
//위에 것과 같은 것
TvProduct ssamTv = new TvProduct
--------------------------------
//(기본형 변수)
int num;
num = 50;
//위에 것과 같은 것
int num = 50;
참조형 변수와 기본형 변수의 차이점
기본형 변수는 실제 계산값을 저장하는 변수타입 같다면
참조형 변수는 어떤 값이나 형식이 저장되어있는 주소를 값으로 가진다.
□ : 메모리
TvProduct ssamTv;
[ ssamTv □ (참조변수 ssamTv 선언) ]
ssamTv = new TvProduct();
( TvProduct 인스턴스 생성 )
인스턴스 맴버 변수들은 각 타입에 기본값으로 초기화 되고 생성된 인스턴스 주소가 참조변수 ssamTv □ 에 저장된다.
ssamTv.channel = 7;
ssamTv가 가리키고 있는 인스턴스 주소에 있는
인스턴스 맴버 변수 중 channel의 값이 7로 변한다.
ssamTv.channelDown(); //void channelDown(channel--;)
System.out.println(ssamTv.channel);
결과는 6