[열혈자바] 인스턴스와 참조변수

이용찬·2021년 12월 28일
1

열혈자바

목록 보기
4/6
post-thumbnail

객체와 클래스변수


  • 객체는 속성기능으로 구성
    : 속성은 변수, 기능은 메서드로 정의
class Tv {
    boolean power;	// 속성
    int channel;
    
    void power() {power != power;}  // 메서드
    void channelUp(channel++;)
    void channelDown(channel--;)
}
  • 클래스변수
    : 모든 인스턴스가 하나의 저장공간을 공유하는 공통된 값

  • 인스턴스변수
    : 인스턴스가 생성될 때마다 각기 다른 값을 유지

class Tv {
	String color;  // 인스턴스변수
    int number;  // 인스턴스변수
	static int channel = 100;  // 클래스변수
}

인스턴스와 참조변수


  • 참조변수
    : 생성되는 인스턴스의 주소 값을 저장

인스턴스 생성방법

클래스명 참조변수명; // 객체를 다루기 위한 참조변수 선언
참조변수명 = new 클래스명(); // 객체생성 후, 생성된 객체의 주소를 참조변수에 저장

Tv box;  // 참조변수 box 선언
box = new Tv();  // box가 새로 생성되는 인스턴스 가르킴

Tv box = new Tv();

참조변수 특성

Tv box = new Tv();
...
box = new Tv();  // box가 새 인스턴스를 참조


Tv box1 = new Tv();
Tv box2 = box1;  // 같은 인스턴스 참조


Tv box = new Tv();
...
box  = null;  // box가 참조하는 인스턴스와 관계를 끊음
...
if (box == null)  // box가 참조하는 인스턴스가 없다면
profile
안녕하세요. 클래식을 즐기는 개발자, 이용찬입니다.

0개의 댓글