this,this()

윤주영·2024년 10월 31일

참조변수 this

-인스턴스 자신을 가리키는 참조변수

참조변수 this와 생성자 this()

  • this 인스턴스 자신을 가리키는 참조변수, 인스턴스의 주소가 저장되어있다.
  • 모든 인스턴스메서드에 지역변수로 숨겨진채로 존재한다.
  • this(), this(매개변수) 생성자, 같은 클래스의 다른 생성자를 호출할때 사용한다.
  • this와 this()와 비슷하게 생겼을뿐 완전히 다른것이다.
  • this는 참조변수이고 this()는 생성자이다.

변수의 초기화

  • 지역변수는 수동초기화 해야함(사용전 꼭!!!)
  • 멤버변수는 자동 초기화 된다.
class InitTest {
	int x;	// 인스턴스변수
	int y = x;	// 인스턴스 변수
	void method1() {
		int i; // 지역변수
		// i가 뭔지 모름 그래서 초기화 해야됨.
		int j = i; // 에러, 지역변수를 초기화하지 않고 사용
	}
}

멤버변수의 초기화

1.명시적 초기화 (=) // 대입연산자(선언시)

참조형변수 - null(기본값)
	     - 객체주소
class Car{
	int door = 4;	//	기본형 변수의 초기화
	Engine e = new Engine(); // 참조형 변수의 초기화
	// 객체를 생성해야 됨.
}

2.초기화 블럭
-인스턴스 초기화 블럭 : {}
-클래스 초기화 블럭 : static {}

3.생성자
Car(String color, String gearType, int door) { // 매개변수있는 생성자
	this.color = color;
	this.gearType = gearType;
	this.door = door;
}

초기화중에 3가지가 있다.

1.자동초기화 ▶ 0으로 초기화
2.간단초기화 ▶ = (대입)
3.복잡초기화 ▶ {}, static블럭, 생성자

▶ 클래스 변수 초기화 시점 : 클래스가 처음 로딩될 때 단 한번 (메모리에 올라갈때)
▶ 인스턴스 변수 초기화 시점 : 인스턴스가 생성될 때 마다

profile
반갑습니다.

0개의 댓글