1. this(), this(매개변수)

- 생성자, 같은 클래스의 다른 생성자를 호출할 때 사용한다.

- 생성자의 이름으로 클래스이름 대신 this를 사용한다.

- 한 생성자에서 다른 생성자를 호출할 때는 반드시 첫 줄에만 호출이 가능하다.


2. this

- 인스턴스 자신을 가리키는 참조변수, 인스턴스의 주소가 저장되어 있다.

- 매개변수의 이름과 인스턴스변수의 이름이 같을 경우에 사용한다.


package com.tistory.gangzzang;

class Car {
	String color, gearType;
	int door;

	Car() {
		this("Black", "auto", 4);
	}

	Car(String color) {
		this(color, "auto", 4);
	}

	Car(int door) {
		this("Black", "auto", door);
	}
	
	Car(String color, String gearType, int door) {
		this.color = color;
		this.gearType = gearType;
		this.door = door;
	}

	@Override
	public String toString() {
		return "Car [color = " + color + ", gearType = " + gearType + ", door = " + door + "]";
	}
} // Car

public class CarTest {
	public static void main(String[] args) {
		Car car1 = new Car();
		Car car2 = new Car("White");
		Car car3 = new Car(2);
		
		System.out.println(car1.toString());
		System.out.println(car2.toString());
		System.out.println(car3.toString());
	} // main
} // CarTest


/*
 * # 결과
 * 
 * Car [color = Black, gearType = auto, door = 4]
 * Car [color = White, gearType = auto, door = 4]
 * Car [color = Black, gearType = auto, door = 2]
 * 
 */


+ Recent posts